线程 'Win32 Thread' 已退出,代码为 -1073740777 (0xc0000417)

The thread 'Win32 Thread' has exited with code -1073740777 (0xc0000417)

我有一个调用 DLL 的可执行文件。我可以通过将 DLL 的 VS2008 项目附加到可执行进程来单步执行 DLL 代码。我已经调试了一些 errors/exceptions。但是现在,恰好在 DLL returns 的主要功能时,可执行进程崩溃而没有任何 error/exception。为了调试崩溃,我尝试使用故障转储文件,但基于 this link,看起来它们不适用于 VS2008。

我可以使用哪些工具来调试崩溃?

编辑:

进程在死亡时调用这个:

TerminateProcess(GetCurrentProcess(), STATUS_INVALID_CRUNTIME_PARAMETER);

TerminateProcess(GetCurrentProcess(), STATUS_INVALID_CRUNTIME_PARAMETER); 强烈表明运行时库终止了您的进程,因为您将错误的参数传递给了库函数。而且 "bad" 太糟糕了,无法合理地继续下去。您可能不会看到像 sqrt(-1.0) 这样微不足道的东西,但也许 strlen(NULL)std::sort(... , &std::equal<int>)

[编辑] 要找到根本原因,它可以帮助提供一个 invalid_parameter_handler)(。在其中调用 __debugbreak 以调用调试器。堆栈跟踪现在将显示原因。