【发布时间】:2012-08-13 14:37:34
【问题描述】:
我正在尝试使用 getter / setter 调试 .h 文件,但在附加到我要调试的进程时,当我在某些方法上放置断点时,IDE 会自动将断点跳转到文件中的单独方法.有谁知道为什么会发生这种情况?
我尝试过的一些事情:
- 重建并链接我正在调试的 .exe
- 删除 .obj 文件,重新制作包含我要调试的文件的目录
- 通过任务管理器检查以确保正确的 .exe 正在运行
- 检查 .pdb 和 .exe 文件的时间戳以确保它们(大致)匹配
这不是解决方案范围内的问题;我只是偶尔看到这个。还有什么我可以尝试的吗?
【问题讨论】:
-
尝试禁用优化。当您的代码得到优化时,您将失去在调试时正确导航的能力。
-
另一个原因是从未使用过函数,因此在优化构建中不会为其生成代码。
-
当您在不生成二进制代码的行上设置断点时,调试器会自动将断点移动到下一行生成的代码。
-
并非每个 asm 代码都有对应的 C++ 代码,例如函数堆栈框架设置。
标签: c++ visual-studio-2008 breakpoints