奇怪! VS 2005 -Break Point没有被击中

时间:2009-08-10 02:38:31

标签: visual-studio debugging breakpoints

我正在使用Visual Studio 2005.I我只在调试模式下运行我的代码。但我的断点是 没被击中。

我跟着:


       
  1. 清除了我的解决方案并再次创建了
  2.    
  3. 关闭VS并再次打开
  4.    
  5. 重新启动我的电脑并测试了断点
  6. 但我无法弄清楚问题。

    我的问题是:


    1. 是否由于任何病毒?
    2. 我的IE 8.0中的附加功能阻止了这个
    3. 我的VS已损坏?
    4. 我在我的机器上安装了botn VS 2008和VS 2005所以任何版本      冲突?
    5. 需要建议。

4 个答案:

答案 0 :(得分:7)

听起来您遇到的问题可能是由于源代码和.pdb文件彼此不同步所致。

尝试以下步骤:

  1. 在Visual Studio中执行“清理”构建。
  2. 关闭Visual Studio。
  3. 删除项目文件夹所有中的所有“bin”和“obj”文件夹。
  4. 删除解决方案.suo文件
  5. 有时解决方案.suo文件可能会损坏(不会导致Visual Studio指示任何错误,但通常会导致奇怪的行为)。十分之九,删除.suo文件会清除Visual Studio中的任何奇怪行为。

    删除“obj”文件夹的技巧迫使Visual Studio在下次编译时真正做一个干净的构建。在Visual Studio中执行“干净”构建仅删除已编译的二进制结果,它不会删除可能已创建的Visual Studio可能链接的任何中间对象文件。通过手动删除“obj”文件夹,可以删除这些缓存的目标文件并强制进行真正的重建。

答案 1 :(得分:1)

它是什么类型的项目(网站,控制台应用程序......)您是直接从visual studio运行项目,还是之后附加到它?

通常当我遇到这种情况时,因为用于运行我要调试的进程的程序集与visual studio中当前构建的程序集不匹配。

你提到IE8,所以如果这是一个网站,你应该尝试将visual studio附加到w3wp.exe进程。否则断点将不起作用。或者,使用visual studio运行网站。

答案 2 :(得分:0)

如果将鼠标悬停在Visual Studio中的断点上,是否表示错误?常见问题是代码尚未构建,或者包含代码的DLL未加载到调试过程中。

答案 3 :(得分:0)

虽然Scott Dorman已经提供了准确的答案,但我建议您应该了解如何在软件中实现断点,并且您能够直观地解决这些问题。

http://mohit.io/blog/software-breakpoints/是我的一篇文章,详细解释了这一点。希望你会发现它很有用。本文的最后一部分解释了为什么当二进制文件和源代码不同步时调试器不允许设置断点。