打印以记录核心转储文件堆栈,C ++通过Windows?

时间:2009-06-21 10:14:09

标签: c++ windows core dump signals

当我的进程崩溃时,如何打印以记录核心转储文件堆栈,C ++ over windows? 我知道在Unix中有一种方法可以使用一些信号处理程序,但从来没有自己做过。 我怎么能在Windows中做(不想使用ACE)?

感谢。

3 个答案:

答案 0 :(得分:2)

Windows等效的核心转储称为Minidump,您可以使用MiniDumpWriteDump编写一个。这里有一篇关于codeproject的文章:http://www.codeproject.com/KB/debug/postmortemdebug_standalone1.aspx

答案 1 :(得分:0)

您可以设置自己的顶级异常处理程序,并使用dbghelp库遍历堆栈以获取调用堆栈。您还可以生成应用程序崩溃转储this

答案 2 :(得分:0)

如果您正在寻找堆栈助行器,请查看由Jochen Kalmbach创建的this one。运行时,它会让您以任何您喜欢的方式记录堆栈跟踪。然而,常见的方法是要求Windows创建转储(完整或迷你)。