【发布时间】:2015-03-20 02:28:12
【问题描述】:
我有一个调用 DLL 的可执行文件。我可以通过将 DLL 的 VS2008 项目附加到可执行文件的进程来逐步执行 DLL 代码。我已经调试了一些错误/异常。但是现在,正是当 DLL 的主函数返回时,可执行进程崩溃而没有任何错误/异常。为了调试崩溃,我尝试使用崩溃转储文件,但基于this link,看起来它们不适用于 VS2008。
我可以使用哪些工具来调试崩溃?
编辑:
进程在死亡时调用这个:
TerminateProcess(GetCurrentProcess(), STATUS_INVALID_CRUNTIME_PARAMETER);
【问题讨论】:
-
您使用的是托管 9.Net) 代码还是本机代码? C++ 标签建议使用本机,但您链接到有关托管代码的问题。另外,究竟什么是“崩溃”?这不是一个技术术语。如果您的进程出于某种原因只是调用
TerminateProcess,它会默默地消失,但这并不是真正的崩溃。 -
崩溃转储可用于 VS 2008。
when main function of DLL returns, executable process crashes without any error/exception。调试时,Visual Studio 中的“输出窗口”让您知道返回值和/或未处理的异常是什么。 VS 不会让你一无所获。 -
@MSalters 进程调用这个:
TerminateProcess(GetCurrentProcess(), STATUS_INVALID_CRUNTIME_PARAMETER);这意味着进程消失还是真正的崩溃?我不确定。 -
@user3405291:这就是您最初应该在问题中提出的那种细节。
标签: visual-studio-2008 dll crash c++-cli