我最近改变了调试器中的一个选项,我认为这是造成这个问题的原因但我似乎无法'撤消'它...我谷歌和所有点击回来的相反'为什么呢?调试器 不 停在断点'
上无论如何,有人可以解释一下吗?
编辑:当我在调试模式下按f5时。每次。它进入Program.cs并停在
Application.SetCompatibleTextRenderingDefault(false);
Main()
中的
答案 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中停止。
,我已提交了错误答案 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();
}