Visual studio 2008 随机崩溃调试

Visual studio 2008 随机崩溃调试,visual-studio-2008,Visual Studio 2008,我有一个程序在运行2-4小时后随机崩溃。我正在Visual Studio Pro 2008中用C++开发。由于崩溃发生在注入的DLL中(注入到第三方软件内存空间的内存空间中),我无法使用Visual Studio调试器,但我可以使用iter进程通信(我使用的是邮箱)将一些输出发送到控制台。 所以这里有一个问题:调试这个的最佳方法是什么?是否有第三方软件/加载项/调试器可以告诉我导致崩溃的变量为NULL 谢谢您的帮助。尝试在下运行该程序。当崩溃发生时,您可能会得到一些关于原因的具体信息。您可以启动

我有一个程序在运行2-4小时后随机崩溃。我正在Visual Studio Pro 2008中用C++开发。由于崩溃发生在注入的DLL中(注入到第三方软件内存空间的内存空间中),我无法使用Visual Studio调试器,但我可以使用iter进程通信(我使用的是邮箱)将一些输出发送到控制台。 所以这里有一个问题:调试这个的最佳方法是什么?是否有第三方软件/加载项/调试器可以告诉我导致崩溃的变量为NULL


谢谢您的帮助。

尝试在下运行该程序。当崩溃发生时,您可能会得到一些关于原因的具体信息。您可以启动托管dll的第三方进程,然后将windbg调试器附加到该进程。当崩溃发生时,windbg可能会停止并报告某种类型的异常。然后,您可以使用各种windbg命令查看线程堆栈等。

G'day

你的问题给我敲响了两个警钟

* a memory leak smell which could be verified by running the same set of input and seeing if the crash happens at about the same elapsed time, and
* a specific test case that is tickling something in your third party library. You could do a binary chop on your input data to track down what's triggering this. I just had to do this to track down which request out of over two hundred thousand was triggering a memory leak in a custom Apache module. Divide and conquer. Divide and conquer. Divide and conquer. Repeat and rinse.


'Avahead,

除非您有一个带有符号的DLL调试版本,否则您可能会运气不佳,没有什么比第三方代码崩溃更令人沮丧的了!我注入的实际上是我自己的DLL。既然我的答案被接受了,出于随机好奇,我确实可以访问Source,windbg是因为内存损坏或内存不足或其他资源异常而停止的吗?