c++ - 符号文件和调试

标签 c++ debugging visual-c++ symbols crash-dumps

假设我有一个用 VC++ 6.0 编写的自定义服务,并且我已将其作为特定版本的一部分发布。不幸的是,我在构建二进制文件时没有使用 pdb。

稍后我的客户报告了一次崩溃,我不得不让 pdb 确定崩溃原因。我现在使用的 pdb 是否足以识别崩溃点。

换句话说,我已经分别获取了二进制文件和 pdb,但是在获取二进制文件后我没有对源代码进行任何更改。

我的理解是,即使他的符号在构建日期和时间方面不会匹配,但在内容方面会匹配。

我的理解正确吗?

最佳答案

您需要确保使用完全相同的编译器版本(补丁可能会更改代码生成和地址)、编译器/链接器选项集、相同的库版本以及相同的源进行编译,以确保地址匹配。如果您能够做到这一点,那么您应该能够获取稍后生成的 pdb。

然而,即使它不完全匹配,它也可能使您足够接近以通过检查看到错误。

关于c++ - 符号文件和调试,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/3503874/

相关文章:

debugging - 调试PostScript

debugging - 如何测试 GAS 中的触发功能?

c++ - 使用 CDC 的 MFC 打印仅适用于某些打印机

windows - Visual Studio Express "for Windows"与 "for Windows Desktop"

c++ - std::string 的奇怪行为

c++ - 我的字节数组到十六进制字符串转换器有什么问题,或者为什么它在写入文件时在某个位置后剪切符号?

c++ - 如何使用扩展字符集读取ini文件? (C++ 语言。)

c++ - 使用 C++ 检测文件中空行的混淆行为

javascript - 在 PHP 项目中的 netbeans 7.4 中调试 Javascript

c# - 如何在 Visual C++ 中将托管变量用作全局变量?