【问题标题】:Getting detailed crash dumps from a hooked exe从挂钩的 exe 获取详细的故障转储
【发布时间】:2015-01-30 10:45:44
【问题描述】:

我正在尝试查找与游戏挂钩的程序的问题。这是 vc++。基本上我启动程序,然后使用 SDL 连接到它。当我从 VS2010 运行代码时,一切正常。但是当我尝试从命令提示符运行时,我的程序可以启动游戏,但之后游戏立即崩溃。

我正在查看 Windows 事件日志,并且似乎存在访问冲突。 0xc000005

如何记录有关崩溃程序的更多详细信息?我尝试了“procdump”,但这并没有用,因为我不能从控制台间接地定位上钩的游戏。相反,它只能针对我的钩子应用程序。

在这种情况下,非常感谢获得详细的转储。 谢谢!

【问题讨论】:

  • 如果您没有看到 WER 崩溃对话框,该对话框可以让您有大量时间附加调试器,然后在 the program starts up 时附加它。
  • 使用/debugexe 选项运行VS2010 IDE。 IE。 > vcvarsall.bat 然后> devenv.exe /debugexe YourProgram.exe。如果你想在出错时生成 minidump,你可以使用这样的方法:github.com/myaut/tsload/blob/master/agent/test/common/fault.c
  • 好的,谢谢,我去试试。
  • 我会尝试两种方法!

标签: visual-c++ hook crash-reports crash-dumps


【解决方案1】:

您可以使用WER registry keys/values 的组合来执行事后调试,以捕获生成的任何转储。我使用这种方法来防止 WER 系统收集转储文件 (.dmp)。我也在另一个similar post 中写过这个。为此,您需要在

下创建一个注册表项

软件\Microsoft\Windows\Windows 错误报告

如果一个尚不存在。关键应该是

LocalDumps\您的应用程序.exe

完成后,修改这些键/值以满足您的需求:

DumpCount、DumpFolder、DumpType

您需要管理员权限才能创建和修改密钥,并且您应该在完成调试后重置已修改的所有内容。

【讨论】:

    猜你喜欢
    • 2011-06-11
    • 1970-01-01
    • 1970-01-01
    • 2015-03-18
    • 1970-01-01
    • 2012-10-23
    • 2022-12-20
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多