当我尝试远程调试exe时,我正在观察Visual Studio 2008的一个奇怪的行为。
我有一个包含多个项目的解决方案。因此,每个项目都被编译成一个lib并链接到我的主项目(在按下运行按钮时启动的项目)。 Visual Studio配置为生成一个pdb文件,其名称与我的exe文件完全相同。此外,VS为每个项目生成一个vc90.pdb文件。
现在,当我从Visual Studio启动它时,或者当我将Visual Studio附加到我的exe的本地运行进程时,我可以在本地调试我的exe。但是当我在不同的机器上运行我的exe时,VS显示出一种奇怪的行为。在这种情况下,Visual Studio会在除主项目之外的所有项目中的断点处正确停止。对于主项目中的每个断点,VS表示无法加载文档的符号。但是,模块视图显示VS加载了正确的pdb文件。
有没有人知道远程调试的应用程序和本地连接的调试器之间有什么不同。特别是因为主要项目是唯一导致问题的项目......
我的环境:
答案 0 :(得分:1)
我发现我错过了为所有其他项目完成的主要项目的设置。我必须将“Project - > Properties - > C / C ++ - > General - > Debug Information Format”设置为“Program database(/ Zi)”。