【发布时间】:2013-06-06 18:44:31
【问题描述】:
我目前能够使用 cmake 设置和编译一个 Visual Studio 项目,但是我根本无法在源代码中设置断点。最初,当我尝试使用调试器运行无法找到调试符号时,VS 警告我。为了解决这个问题,我只需转到项目属性并选择链接器->调试并将“生成调试信息”设置为是。现在它会生成必要的 pdb 文件,但是如果我在源代码中放置一个断点,它会空出并告诉我没有为文档加载任何符号。
所以我的问题是为什么它与 pdb 文件的源不匹配,我能做些什么来纠正这个问题?
谢谢。
这是一个带有简单示例的 git repo:https://github.com/Samurai336/CmakeSimple
【问题讨论】:
-
您根本不需要在 Visual Studio 中更改任何设置,以便 CMake 生成的项目能够设置断点。切换到 CMake 后,您是否清理过构建项目。尽管请记住使用 CMake,但不建议将您的构建树包含在源代码中,因此如果您遵循该树应该是干净的..
-
所以听起来我没有在某处正确设置标志,因此当我在 cmake 中点击生成时,它知道将项目设置为生成 pdb。知道我的 cmake 中可能缺少什么吗?
-
默认情况下,cmake 会设置正确的值。如果您以某种方式禁用了该功能,我将使用 cmake-gui 中的 Delete cache 选项并重置您的生成器,然后将您的应用程序构建干净。此外,如果您没有选择源外构建,那么这将是一个完美的时机。
-
源外构建是什么意思。如果这就是你的意思,构建目录在源目录之外。
-
是的。 cmake.org/Wiki/…
标签: c++ windows debugging visual-studio-2012 cmake