当没有断点VS2010时,调试器停止

时间:2011-10-25 22:54:30

标签: c# .net visual-studio-2010

我最近改变了调试器中的一个选项,我认为这是造成这个问题的原因但我似乎无法'撤消'它...我谷歌和所有点击回来的相反'为什么呢?调试器 停在断点'

无论如何,有人可以解释一下吗?

编辑:当我在调试模式下按f5时。每次。它进入Program.cs并停在

Application.SetCompatibleTextRenderingDefault(false);
Main()

中的

4 个答案:

答案 0 :(得分:26)

旧线程我知道,但我刚遇到同样的问题。我所做的只是删除所有断点(对我来说是Ctrl + Shift + F9),然后是我的启动项目上的Clean,然后是Rebuild,然后是Run。之后,它在没有断点的地方停止了。

答案 1 :(得分:5)

我刚刚遇到了同样的问题但是我的选择没有改变。我想我找到了原因,但没有决心解决它。我有一个包含多个项目的解决方案,涉及的项目是:

  • 商业逻辑
  • 数据访问
  • 控制台应用

在BL和DA中我都有一个名为Credit.cs的类。这两个类都在不同的名称空间中。

当我在BL.Credit.cs中的第235行设置断点时,调试器在DA.Credit.cs中的第236行停止,即使没有设置断点。我认为这是Visual Studio中的一个错误。

当我删除BL中的断点时,随后也不会在DA中停止。

如果您想投票https://connect.microsoft.com/VisualStudio/feedback/details/699804/debugger-stops-on-same-line-in-different-class-where-there-is-no-breakpoint

,我已提交了错误

答案 2 :(得分:4)

这是一种解决方法,即在完全限定名称不同的情况下,在每个具有相同名称的类中激活断点的行为。设置断点后,转到“断点”窗口(如果调试| Windows |断点尚未启动)。右键单击在太多同名类中触发的断点(例如,当您只希望Project1.Action具有断点时,Project2.Action中断)和选择“条件”。将条件值设置为如下所示:this.GetType()。FullName ==“Project1.Action”。

此后,该条件使得执行仅在具有正确的完全限定名称的类上中断。

答案 3 :(得分:0)

它是通过给你一个例外来阻止它还是完全停止执行你的应用程序?如果您的代码中没有UnHandledExceptionHandler,它看起来就像停止但实际上有一个例外。

更新: 以下是您的Main方法应该捕获未处理的异常,因为try / catch并不总是有效。

    /// <summary>
    /// The main entry point for the application.
    /// </summary>
    [STAThread]
    static void Main()
    {
        AppDomain.CurrentDomain.UnhandledException += new UnhandledExceptionEventHandler(CurrentDomain_UnhandledException);
        Application.ThreadException += new System.Threading.ThreadExceptionEventHandler(Application_ThreadException);

        Application.EnableVisualStyles();
        Application.SetCompatibleTextRenderingDefault(false);
        Application.Run(new Form1());
    }

    static void Application_ThreadException(object sender, System.Threading.ThreadExceptionEventArgs e)
    {
        throw new NotImplementedException();
    }

    static void CurrentDomain_UnhandledException(object sender, UnhandledExceptionEventArgs e)
    {
        // You should/MAY see an error right here.
        throw new NotImplementedException();
    }