断点无法设置并已被禁用

时间:2009-03-18 09:08:04

标签: debugging visual-c++

如果我在VC ++ 6.0项目中添加断点然后我开始调试,它会显示以下错误消息:

  

无法设置一个或多个断点并已被禁用,   执行将在程序开始时停止

它显示了反汇编窗口。这有什么问题?

如何添加断点并开始调试?

5 个答案:

答案 0 :(得分:1)

答案 1 :(得分:1)

当您在源文件中设置了除开始调试之外的其他断点时,会出现此问题。

假设您已经开始调试工作区MainModule.dsw,并且从这个打开的Visual Studio编辑器本身您已经在其他cpp文件中插入了断点,那么在调试开始时您将收到此错误。

如果您已将源代码路径设置为Visual Studio installaiton的vc文件夹,则编辑器应显示winmain方法或dllmain方法,而不是汇编代码。然后你就可以理解错误信息背后的主要逻辑。

答案 2 :(得分:1)

我也遇到过类似的问题,但代码工作正常,我甚至将所有文件与另一个正在运行的实例进行了比较。问题是路径中有前导和尾随空格的破折号。一旦我删除了尾随空格(例如“ - dir”变为“-dir”),它就可以正常工作了。虽然如果可能的话你可能想要完全避免破折号。希望这有助于其他人。

答案 3 :(得分:0)

要检查的前两件事是:

  • 您是否使用正确的调试信息设置编译了C ++代码?
  • 您是否也告诉链接器生成调试信息?

当您在发布配置中构建二进制文件时,这些都会被关闭。 IME,上述错误的最常见原因是有人忘了告诉链接器发出调试信息......

当具有损坏的调试信息的二进制文件链接到可执行文件并使调试信息无法使用时,我也看到了这个问题。

答案 4 :(得分:0)

最有可能将“Win32 Release”作为活动配置。将其设置为“Win32 Debug”,然后您将获得必要的调试信息。