Pra*_*ian 16 c++ debugging visual-studio visual-studio-debugging pdb-files
我们有一个使用Visual Studio 2005构建的本机C++ Win32 .exe,它可以在我们内部测试的所有机器上完美运行(XP 32位,Vista 32位和Windows 7 64位).但当然,它在客户端的32位Vista机器上反复崩溃.
在几个网站上挖掘我发现花絮表明我是否将PDB文件(vc80.pdb和projectName .pdb)以及可执行文件的Release版本发送给客户,有一些方法可以在发生崩溃时生成小型转储.然后,我可以将崩溃转储加载到Visual Studio中,并获取堆栈跟踪和一些其他有用的信息.微软的Dr. Watson实用程序似乎也参与了这个过程.
但我找不到任何关于实现这一目标的步骤的明确指示
有人可以描述这个过程吗?
jsc*_*edl 11
我们能够从现场发布版本中获取故障转储,而不需要将pdb文件与我们的产品一起发送.
我相信,我们使用MiniDumpWriteDump()在我们的顶级异常处理程序中构建调用以创建崩溃转储文件.但即使没有这个,你也可以让用户使用任务管理器在崩溃时生成崩溃文件,我在这里提到:MSDN创建转储文件的说明.
获得转储文件后,客户会将其拉链并邮寄给您,然后将其放到Visual Studio上.在VS中,然后选择Debug Mixed或Debug Native,它使用pdb的本地副本向您显示调用堆栈等.

你应该拥有的过程如下:
注意:
我感觉到你的痛苦.不久前就要做了.
无论如何,你试过谷歌Breakpad?
Breakpad是一个库和工具套件,允许您将应用程序分发给用户,并删除编译器提供的调试信息,在紧凑的"minidump"文件中记录崩溃,将它们发送回服务器,并从这些小型转储中生成C和C++堆栈跟踪.Breakpad还可以根据请求为未崩溃的程序编写小型转储.
Breakpad目前被谷歌Chrome,Firefox,谷歌Picasa,卡米诺,谷歌地球和其他项目使用
您可以在此处找到它:http://code.google.com/p/google-breakpad/
它与所提到的其他答案完全相同,但它会自动完成,为您节省大量时间和精力
| 归档时间: |
|
| 查看次数: |
2439 次 |
| 最近记录: |