C++ 调试问题 - pdb 文件
Posted
技术标签:
【中文标题】C++ 调试问题 - pdb 文件【英文标题】:C++ Debug Problem - pdb file 【发布时间】:2009-11-15 09:46:33 【问题描述】:我的项目中有几个 DLL,它们被定义为在同一个文件夹中创建它们的 *.pdb 文件(调试信息)。问题是该文件夹中实际存在的唯一 *.pdb 文件是属于最后编译的 DLL 的文件。结果我只能调试最后一个项目(每次编译都会删除文件夹中的所有 *.pdb 并创建当前编译的 DLL pdb 文件。)
我该如何解决? 我正在使用 Visual Studio 2003。
【问题讨论】:
您的项目结构是什么(它们都在同一个解决方案中)?你的构建过程和(非常明显)是什么,但你的.pdb
都被称为不同的东西吗?
【参考方案1】:
您可以从项目设置中的Extensions to delete on clean 中删除 *.pdb
,或者最好使用不同的中间目录。
这两个设置都在 Configuration Properties -> General。
【讨论】:
+1 用于不同的中间目录。避免 obj 文件冲突的好习惯(node.obj 有人吗?:) 是的,我什至不知道可以共享中间目录而不会出现可怕的错误。【参考方案2】:或者您可以为程序发布创建单独的文件夹,并始终从最新的发布文件夹编译和执行您的程序。通过这种方式,您还可以管理所有其他外部文件,例如图像等等。
【讨论】:
这不是解决方案。如果你只这样做,它会导致完全相同的问题。 好吧,当然所有程序都应该有自己的发布文件夹并单独存储。 我想我误读了你的意思。 “Compile [...] from the latest release-folder”我有点误导。以上是关于C++ 调试问题 - pdb 文件的主要内容,如果未能解决你的问题,请参考以下文章
使用 pdb 调试调试 C++ COM dll 但没有源代码
尝试调试调用 C++ DLL 的 VBA,“未加载 wntdll.pdb”