首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >崩溃生成转储

崩溃生成转储
EN

Stack Overflow用户
提问于 2011-05-20 22:07:29
回答 3查看 461关注 0票数 2

我的应用程序在运行3-4天后偶尔会在客户机上崩溃。是否可以在应用程序启动时自动将应用程序附加到像ADplus这样的调试器?这是为了在应用程序崩溃时生成转储文件。

EN

回答 3

Stack Overflow用户

发布于 2011-05-20 23:14:37

既然你想使用ADPlus,我假设一个只有windows的解决方案就可以了。

在这种情况下,您可以安装事后调试程序。一旦你的应用程序崩溃,它就会弹出。我通常使用windbg。

票数 1
EN

Stack Overflow用户

发布于 2011-05-20 23:19:58

您可能需要查看SetUnhandledExceptionFilter函数。

票数 1
EN

Stack Overflow用户

发布于 2011-05-21 03:13:02

在进程启动时,您不必附加到调试器。当进程终止并且位置为set AeDebug RegistryKey时,Windows将查找调试器

在x86计算机上,它是\\HKEY_LOCAL_MACHINE\Software\Microsoft\Windows NT\CurrentVersion\AeDebug

可以将CDB设置为事后调试器

若要将事后调试器更改为CDB,请运行cdb -iae或cdb -iaec KeyString。使用-iaec参数时,KeyString指定要追加到用于启动事后调试器的命令行末尾的字符串。如果KeyString包含空格,则必须用引号将其引起来。如果成功,此命令将不显示任何消息,但如果失败,将显示失败消息。当CDB是事后调试器时,只要应用程序崩溃,它就会被激活。

当进程终止时,我会有像cdb -iaec ".dump /ma /u crashedapp.dmp;q"这样的东西来获取内存转储。

如果操作系统是Vista SP1+,那么可以使用WER http://msdn.microsoft.com/en-us/library/bb787181(VS.85).aspx配置注册表以获得完整的内存转储

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/6073135

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档