在我的dll文件通过所有测试的情况下,但是在生产服务器上,它有时会在最少的预期时刻崩溃。
实际上没有可能运行调试器但是有一个生成的stacktrace文件:
An exception occured at address 0x0045DA51 in module my.dll
Registers:
EAX: 0x61A881BC
//data......
EFLAGS: 0x00010206
Stack:
+0000: 0x0379F5E4 0x00000000 0x01F1B968 0x00000001
+0010: 0x00000007 0x01F1BCA8 0x00454622 0x742F3500
+0020: 0x00000034 0x00000001 0x00000009 0x00000002
+0030: 0x00000000 0x00000240 0x61A881BC 0x000000A4
+0040: 0x00000000 0x60104F70 0x01F1C15C 0x60104F7D
//more data..
是否有可能将此数据加载到visual studio 2013中以执行某些离线调试(不是运行时调试,我不知道如何调用它)?
答案 0 :(得分:0)
你应该在某个地方看到一个crashdump,一个.dmp文件。您可以通过sysinternals PrcessExplorer导出它,不确定是否可以使用默认任务管理器,但这当然是在崩溃之前。遗憾的是,我不知道如何强制进程在崩溃时生成.dmp文件..
但是一旦你有.dmp文件,就可以在VS中打开它(我想自2010年,也许是2012年)。 有两种转储,一种小型转储(基本上只包括该点的执行点),通常是< 1 MB,以及一个完整的转储",它包含了整个过程的工作集,可以很容易地达到数百兆。 minidump通常足以开始。
对不完整的答案感到抱歉,但也许它会让你走上正轨(现在我没时间调查)。