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

时间:2015-03-19 13:12:00

标签: visual-studio-2008 dll crash c++-cli

我有一个调用DLL的可执行文件。我可以通过将DLL的VS2008项目附加到可执行文件的过程来逐步执行DLL代码。我已经调试了一些错误/异常。但是现在,正是当DLL的主要功能返回时,可执行进程崩溃而没有任何错误/异常。为了调试崩溃,我尝试使用崩溃转储文件,但基于this link,看起来它们不适用于VS2008。

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

编辑:

进程在死亡时调用它:

TerminateProcess(GetCurrentProcess(), STATUS_INVALID_CRUNTIME_PARAMETER);

1 个答案:

答案 0 :(得分:1)

TerminateProcess(GetCurrentProcess(), STATUS_INVALID_CRUNTIME_PARAMETER);强烈表明运行时库终止了您的进程,因为您将错误的参数传递给库函数。而“坏”是如此糟糕,以至于无法合理地继续下去。您可能不会将某些内容视为sqrt(-1.0),但可能strlen(NULL)std::sort(... , &std::equal<int>)

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