c++ - 我可以解决 "rebuilding"加载调试器吗?

标签 c++ visual-studio-2008

我在 xp 中运行 vs08,试图测试我已经研究了一段时间的 c++ 解决方案。

该解决方案由多个项目组成,我正在处理的两个项目分别包含服务器和客户端。我构建了服务器和客户端项目的调试实例来测试它们之间发送的自定义消息。

如果我“重建”(清理 + 构建)整个项目,而不是仅仅“构建”,调试器只能加载已编辑头文件(主要使用模板)的调试信息。如果我尝试“构建”然后调试项目,则头文件中的所有断点都不可访问,并且我收到一条警告:

"This breakpoint will not currently be hit. No executable code is associated with this line."

但是,如果我“重建”整个项目,调试器就可以工作。

我查看了“解决方案属性 > 通用属性 > 调试源文件”并确保“不要查找这些源文件”部分为空。

我只想“构建”每个项目(小代码更改之间的操作要短得多)以进行调试。 (1) 我可以更改 visual studio 中的哪些设置?

请注意,我在引用 visual studio 中的功能时使用了“build”和“rebuild”。我对这些的理解是,“重建”删除.pdb(程序调试数据库)和关联的调试文件,然后生成所需的文件,而“构建”仅修改与新代码更改相关的调试文件。 (2) 我错了吗?

最佳答案

我不是 Visual Studio 方面的专家,但您的问题很可能是因为在编译期间未重建该特定源文件。 如果自上次构建项目以来您没有对刚刚添加断点的源文件进行任何更改,那么这次将不会重建它。

重建之所以有效,是因为它清除了所有目标文件,然后从头开始构建项目。

要变通,您可以尝试修改您特别想要重建的源文件,或者只是从构建目录中删除它的目标文件。

关于c++ - 我可以解决 "rebuilding"加载调试器吗?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/12982255/

相关文章:

c++ - 将同一行上的嵌套 namespace 缩进到一层

c++ - Node.js Addon 无法转换参数

c# - 将结构从非托管 C++ 传递到 C#

visual-studio-2008 - 方法名称组合框的 Visual Studio 键盘快捷键

visual-studio-2008 - 在 32 位和 64 位上编译 Visual Studio C# 项目

Mac OSX 上的 c++ 内存泄漏检测

c++ - win32 api函数获取处理器的当前速度

vb.net - VB Xml 文字中的 IntelliSense

c++ - Visual Studio C++ 如何在我的“关于”框中显示动态消息(即字符串)?

visual-studio-2008 - 使用快捷键在Visual Studio 2008中打开任何资源