Visual Studio 2015:调试器不会跨越

时间:2017-02-08 13:11:40

标签: c# visual-studio-2015

我是编码的新手,这是我第一次调试(尝试学习)。当我运行我的项目时,它将在我的第一个Breakpoint第14行停止。我点击了Step Over,它将转到第15行(见截图)。

当我再次点击Step Over时,它会构建项目并在我的浏览器中打开,并且没有机会进入第21行,Step Over按钮显示为灰色。

我的期望是当我点击Step Over时,它将转到代码中的下一行。我是否误解了步骤和断点是如何工作的?

enter image description here

谢谢。

在研究了给出的答案后,以下链接将为有兴趣了解更多有关调试的人提供更多信息。

Getting Started with the Debugger

2 个答案:

答案 0 :(得分:5)

您遇到的行为既正常又正确。

您已在第14行设置了一个断点,这是Page_Load事件的一部分。这几乎会立即触发 - 在您看到浏览器窗口出现之前,如果我没有弄错的话。也许它会在窗口打开后立即触发,我完全忘了。无论哪种方式,如果你单击Step Over,它应该转到第15行。即使大括号不任何东西,它们也会被“执行”。通过单击Step Over第二次 - 在大括号执行之后,你有效地告诉调试器“好的,我们已经看完了Page_Load,去做你应该做的任何事情” - 在这种情况下,这实际上是在浏览器中运行您的应用程序。

你的第二个断点是一个标题为okButton_Click的完全独立的方法(事件)。当您点击页面上的okButton时,这将触发。如果您的Page_Load包含对okButton_Click的调用,那么您可以使用Step Over,最终会触发第21行的断点。

有关调试器按钮的确切内容的更多信息here(请参阅下面的编辑以获得更好的链接)。

感谢您学习/发布有关调试器的问题。它是开发人员拥有的最强大的工具,如果你知道如何使用它,很多问题都可以很容易地解决。

编辑这是一个比上面更好的链接:https://msdn.microsoft.com/en-us/library/y740d9d3.aspx

我没有意识到我的第一个链接是Office产品中的VB脚本;但它基本上表现相同。

答案 1 :(得分:2)

似乎你正在调试"发布"模式。尝试将模式更改为" Debug"并重新运行该应用程序。

编辑:第21行是OK按钮单击事件处理程序。一旦在网页/ UI上单击“确定”,它就会被命中