1

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

我跟着 :


  1. 清除我的解决方案并再次创建一个
  2. 关闭VS并再次打开它
  3. 重新启动我的电脑并测试断点

但我无法弄清楚问题所在。

我的问题是:


  1. 是不是因为什么病毒?
  2. 我的 IE 8.0 中的附加功能可以防止这种情况
  3. 我的 VS 损坏了?
  4. 我的机器上安装了 botn VS 2008 和 VS 2005,所以有任何版本冲突吗?

需要建议。

4

4 回答 4

7

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

尝试以下步骤:

  1. 在 Visual Studio 中执行“干净”构建。
  2. 关闭 Visual Studio。
  3. 删除所有项目文件夹中的所有“bin”和“obj”文件夹。
  4. 删除解决方案 .suo 文件

有时解决方案 .suo 文件可能会损坏(不会导致 Visual Studio 指示任何错误,但通常会导致奇怪的行为)。十分之九,删除 .suo 文件会清除 Visual Studio 中的任何奇怪行为。

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

于 2009-08-10T03:34:21.653 回答
1

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

通常当这种情况发生在我身上时,这是因为用于运行我要调试的进程的程序集与 Visual Studio 中当前构建的程序集不匹配。

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

于 2009-08-10T02:47:04.637 回答
0

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

于 2009-08-10T02:44:34.827 回答
0

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

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

于 2009-08-17T03:38:39.793 回答