2017-02-08 37 views
1

我是编程新手,这是我第一次调试(试图学习)。当我运行我的项目时,它会停在我的第一个断点,第14行。我点击跳过,它会到第15行(请参见截图)。Visual Studio 2015:调试器不会跨越

当我再次点击Step Over时,它会生成项目并在浏览器中打开并且不会让我有机会进入第21行,Step Over按钮会变灰。

我的期望是,当我点击Step Over时,它会转到代码中的下一行。我误解了跨步和断点的工作方式吗?

enter image description here

谢谢。

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

Getting Started with the Debugger

+2

您正处于'Page_Load'的末尾。点击'okButton'来查看第21行,虽然必须符合'if'的标准。 – Bugs

回答

4

你遇到的行为是正常的和正确的。

您已在第14行设置了一个断点,该行是Page_Load事件的一部分。这几乎会立即触发 - 如果我没有弄错,在看到浏览器窗口出现之前。也许它会在窗口打开后立即触发,我完全忘记了。无论哪种方式,如果您单击“跳过”,则应该转到第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脚本;但它的行为基本相同。

+0

感谢您的详细描述和鼓励@ sab669。我很感谢所有帮助新手的专业人员,这是一个伟大的社区。 – JM1

+1

@ JM1只要你证明已经做出了尝试,这个网站可以是非常有帮助的,是的。有很多问题可以在这里随时发布,并且可以通过非常简单的逻辑错误来设置断点并使用[Watch](https://msdn.microsoft.com/en-us/library/) aa290869(v = vs.71).aspx)窗口和[Immediate](https://msdn.microsoft.com/en-us/library/f177hahy.aspx)窗口。前者只是让您更轻松地随时跟踪特定变量,以便您可以准确了解其具体值,而立即让您执行几乎任何语句。 – sab669

+0

考虑到你在这两条评论中所说的话,使用调试器,Watch和Immediate窗口将会带领我完成执行的每一步,并会告诉我这些值是什么,它会让我知道它是否正在执行意。我现在明白为什么你说它是最强大的工具。我可以使用这些工具自己诊断大多数事情,所以看起来我需要花时间深入学习调试,以便在未来几年内节省大量的时间。 – JM1

2

看来你在 “释放” 模式正在调试。尝试将模式更改为“调试”并重新运行应用程序。

编辑:第21行是确定按钮单击事件处理程序。一旦你点击你的网页/ UI上的OK,它将被击中

+1

你的第一句话是完全错误的。 – DavidG

+0

是的,我错过了它。当我第一次读它时,出现了混乱。但没有删除它,因为它可能有助于了解新手的配置。 –

+0

谢谢@Mit,它确实让我仔细检查,它在调试模式下,但我没有注意到有这样的配置,所以感谢您的评论。 – JM1

相关问题