崩溃生成转储
crash generate dump
我的应用程序在运行 3-4 天后偶尔会在客户机器上崩溃。是否可以在应用程序启动时自动将应用程序附加到 ADplus 等调试器?这是为了在应用程序崩溃时生成转储文件。
由于您想使用ADPlus,因此我认为仅Windows解决方案就可以了。
在这种情况下,您可以安装事后调试器。一旦您的应用程序崩溃,它就会弹出。我通常使用windbg。
你可能想看看SetUnhandledExceptionFilter
函数。
IMO 在进程启动时不必附加到调试器。当进程终止并且位置设置为AeDebug RegistryKey时,Windows将查找调试器
在x86计算机上,它是\HKEY_LOCAL_MACHINESoftwareMicrosoftWindows NTCurrentVersionAeDebug
CDB
可以设置为事后调试器
将事后调试器更改为 CDB,运行CDB -IAE或CDB -IAEC 键字符串。当 -iaec 参数为 使用,键字符串指定一个字符串 附加到命令行末尾 用于启动事后分析 调试器。如果密钥字符串包含 空格,必须包含在 引号。此命令将 如果成功,则不显示任何消息,但 将显示失败消息,如果它 失败。当国开行是事后分析 调试器,它将被激活 每当应用程序崩溃时。
当进程终止时,我会有类似cdb -iaec ".dump /ma /u crashedapp.dmp;q"
的东西来获取内存转储。
如果操作系统是Vista SP1+,则可以将注册表配置为使用WER http://msdn.microsoft.com/en-us/library/bb787181(VS.85)获取完整内存转储.aspx
- 在Windows上调试linux崩溃转储
- 如何从核心转储文件中识别导致崩溃的完整命令
- 是否可以以编程方式创建迷你转储文件而不会崩溃?
- 故障转储文件是否需要崩溃时正在运行的本地文件
- QNX - 崩溃时未生成核心转储
- QT应用程序崩溃但不容易复制,我捕获了转储堆栈以及如何通过堆栈找到源代码
- pthread_join崩溃与核心转储段错误
- 我应该通过单独的过程编写自己的崩溃转储还是依赖WER
- 如何在c++中用程序禁用崩溃转储
- 有没有为mac和win应用程序创建和上传崩溃转储的服务
- 使用fopen for file时,matlab在没有转储文件的情况下崩溃
- 使用小型转储和 GDB 分析崩溃,以便 mingw 编译的可执行文件
- 可视C++程序崩溃,但未生成转储文件.为什么
- Eclipse (C++) 崩溃 无法写入核心转储.核心转储已被禁用
- 在Windows上使用gcc崩溃后转储堆栈
- While循环导致堆栈转储,程序在C++中崩溃
- 每当应用程序崩溃时,为其创建一个转储文件
- 我运行一个程序并遇到分段错误(核心转储),我使用 gdb 进行调试,程序在运行 ui->setupUI() 时崩溃了
- 在Android NDK中捕获C++信号,并且仍然打印崩溃转储
- 为c++应用程序创建崩溃转储报告