此模块的调试信息中缺少源信息 - PDB 已成功加载
Source information missing from the debug information for this module - PDB successfully loaded
Visual Studio 加载了正确的 PDB 文件,但在解决方案中找不到任何内容的源信息。
我尝试过的事情:
- 清理、重启、重新生成项目 (CMake)、重建
- 检查模块 window 以确保 PDB 已加载(已加载)
- 混淆解决方案属性下的 "Debug Source Files" 设置
- 用 symchk 检查 PDB 文件(它说 PDB 与 EXE 匹配,并且它有完整的符号信息,即它没有被剥离)
- 从 Microsoft 下载系统库符号因为为什么不
是否有一些设置可以生成没有源信息的 PDB?或者它可能会在 PDB 中烘焙错误的路径?我尝试通过 PDB 进行 grepping,虽然它似乎包含所有符号,但我找不到任何源文件路径。
更多信息:这是一个 64 位 C++ 项目。一切都是静态链接的,包括运行时。
该项目缺少 /Zi parameter。显然这仍然会导致编译器生成一个可以成功加载的 PDB 文件,只是其中没有任何有用的符号。不知道为什么。
在 visual studio 的底部栏中,单击“应用程序输出”并解决产生的异常中的错误。
更多具体案例答案,设置了 /ZI 选项:
这里讨论的变量是一个 HGDIOBJ 变量,创建为 SelectObject 的 return。它在手表 window 中的类型是 void *。
该操作是“当值更改时中断”,并且在继续之后 VS windowed 代码图形弹回到主要 WndPRoc 的开头,其中:
When 0xbd1676ecb8 (Original Expression: hMyObj) changes (8
bytes) in process 'MyProg.exe'
之后显示“源不可用”对话框。
那么,怎么办?如果这台机器上的 VS2019 安装有问题,它们只适用于这个特定的变量类型,因此决定不对该类型使用“值更改时中断”。
Visual Studio 加载了正确的 PDB 文件,但在解决方案中找不到任何内容的源信息。
我尝试过的事情:
- 清理、重启、重新生成项目 (CMake)、重建
- 检查模块 window 以确保 PDB 已加载(已加载)
- 混淆解决方案属性下的 "Debug Source Files" 设置
- 用 symchk 检查 PDB 文件(它说 PDB 与 EXE 匹配,并且它有完整的符号信息,即它没有被剥离)
- 从 Microsoft 下载系统库符号因为为什么不
是否有一些设置可以生成没有源信息的 PDB?或者它可能会在 PDB 中烘焙错误的路径?我尝试通过 PDB 进行 grepping,虽然它似乎包含所有符号,但我找不到任何源文件路径。
更多信息:这是一个 64 位 C++ 项目。一切都是静态链接的,包括运行时。
该项目缺少 /Zi parameter。显然这仍然会导致编译器生成一个可以成功加载的 PDB 文件,只是其中没有任何有用的符号。不知道为什么。
在 visual studio 的底部栏中,单击“应用程序输出”并解决产生的异常中的错误。
更多具体案例答案,设置了 /ZI 选项: 这里讨论的变量是一个 HGDIOBJ 变量,创建为 SelectObject 的 return。它在手表 window 中的类型是 void *。 该操作是“当值更改时中断”,并且在继续之后 VS windowed 代码图形弹回到主要 WndPRoc 的开头,其中:
When 0xbd1676ecb8 (Original Expression: hMyObj) changes (8 bytes) in process 'MyProg.exe'
之后显示“源不可用”对话框。
那么,怎么办?如果这台机器上的 VS2019 安装有问题,它们只适用于这个特定的变量类型,因此决定不对该类型使用“值更改时中断”。