我是编码的新手,这是我第一次调试(尝试学习)。当我运行我的项目时,它将在我的第一个Breakpoint第14行停止。我点击了Step Over,它将转到第15行(见截图)。
当我再次点击Step Over时,它会构建项目并在我的浏览器中打开,并且没有机会进入第21行,Step Over按钮显示为灰色。
我的期望是当我点击Step Over时,它将转到代码中的下一行。我是否误解了步骤和断点是如何工作的?
谢谢。
在研究了给出的答案后,以下链接将为有兴趣了解更多有关调试的人提供更多信息。
答案 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上单击“确定”,它就会被命中