C++ 我可以使用windows事件日志调试应用程序吗?
我的应用程序崩溃并生成windows事件日志,其中显示: 正在出错的应用程序someapp.exe, 版本1.0.0.0,故障模块 TAOd.dll,版本1.6.9.0,故障 地址0x0000f8286 有没有办法将此地址映射到方法调用 我没有调试信息。该应用程序正在生产机器上运行,因此无法在我需要时停止C++ 我可以使用windows事件日志调试应用程序吗?,c++,windows,debugging,C++,Windows,Debugging,我的应用程序崩溃并生成windows事件日志,其中显示: 正在出错的应用程序someapp.exe, 版本1.0.0.0,故障模块 TAOd.dll,版本1.6.9.0,故障 地址0x0000f8286 有没有办法将此地址映射到方法调用 我没有调试信息。该应用程序正在生产机器上运行,因此无法在我需要时停止 我想从这么少的信息中找到一条线索…是的,有办法。生成映射文件并查找函数 编辑:试试看是的,这是可能的,但你必须收集线索 TOAd.dll在特定地址崩溃?总是一样吗 但是如果使用调试器获取堆栈跟
我想从这么少的信息中找到一条线索…是的,有办法。生成映射文件并查找函数
编辑:试试看是的,这是可能的,但你必须收集线索 TOAd.dll在特定地址崩溃?总是一样吗 但是如果使用调试器获取堆栈跟踪会更好,但是还必须获取相应的TAOd.pdb 0x0000f8286 它是RVA,所以你们可以在调试器或反汇编程序中加载你们的dll,去那个里看看它在哪里
您至少可以配置生产机器以自动收集崩溃转储吗?我建议您考虑获得一台测试机器,并尝试在那里重新创建问题。只要有可能,尽量不要让开发代码出现在生产机器上。我知道这并不总是可能的,但它可以让您更好地进行调试/测试。如果是您的应用程序,也就是说,您编写了/拥有源代码,您应该能够向应用程序生成的事件日志消息中添加一些详细信息。是的,我可以这样做,但我不确定崩溃的频率happens@Will,我完全同意你的看法,但我的测试机工作正常。@pcent:journal:)请注意,使用映射文件进行调试并不容易,但一旦掌握了窍门,这是最有用的调试技术:)