【发布时间】:2013-12-06 10:02:26
【问题描述】:
我使 C++ 应用程序与 WinDbg 一起使用,并故意添加访问冲突运行时错误。
应用程序被编译为发布版本,然后我将 exe 从发布文件夹复制到桌面。仍然当我使用 WinDbg 并且应用程序崩溃时,它会打开我的源代码文件,显示突出显示的错误行。
我无法理解,WinDbg 是如何理解我的源代码文件路径的。
另外,当我从客户端获得故障转储时,可能是因为我没有可用的源代码。所以我想模拟真实世界的场景。
问候
【问题讨论】:
-
@VioletGiraffe 是的,你是对的。当我删除 pdb 文件时,WinDbg 中不显示源代码。请写为答案,以便我接受。
-
如果你添加了路径,它只会打开源文件,它不会自动知道去哪里,pdb会显示编译时文件的原始路径,但这几乎总是除非你在同一台机器上,否则会失败。另外,源代码是什么意思? pdb 仅显示公共(如果没有剥离私有)符号,并允许调试器将偏移量转换回源行号。您看不到 pdbs 中的源代码
-
@EdChum 你是对的。实际上,我在有源代码和 WinDbg 的地方使用的是相同的。
-
@VioletGiraffe 但是在发布 exe 中使用 pdb 文件路径是否安全?
-
@pranitkothari:不确定您所说的安全是什么意思。它可能会根据 pdb 路径中的文件夹名称显示您的个人信息,但如果路径不包含以您的姓氏命名的文件夹 - 我看不出问题。
标签: c++ visual-studio-2010 debugging windbg crash-dumps