调试 - 我如何逐行执行代码?

17

我在使用Visual Studio调试C#应用程序时遇到了困难。我不知道如何逐行调试代码,但不是在程序开始运行时(因为我需要按F5键多次,因为程序需要大约200行才能初始化)。我的意思是假设我想要在某个特定的时刻开始调试。就像在每一行代码上设置断点,但实际上不创建断点(这会花费很多时间,每次都要创建)。

希望我的表述比较清晰明了。


困惑 - 你在抱怨200 [F5],但又说要逐行运行它... 你的意图是什么? - Marc Gravell
3个回答

34

我不是很清楚你想要什么...

  • 如果你不确定如何逐行调试,请在想要从该行开始调试的位置设置断点,然后使用F10作为“步过”或F11作为“步入”,而不是F5(“继续”)。

  • 如果你不确定如何在想要的时候进入应用程序,你可以随时点击调试器中的“暂停”按钮,或者在启动应用程序后在想要停止的位置添加断点。

如果以上方法都不适用,请提供更多信息。


13

不要点击“运行”按钮,而是点击“步过”按钮来启动你的项目。你不需要任何断点(虽然它们是有帮助的),可以逐行运行你的代码。只需继续点击“步过”(或如果你想进入方法的实现,则点击“步入”)。


如果程序没有任何错误而立即退出,怎么办?我试图从第一行开始调试,但调试器从未启动。 - HackSlash

7

我认为你想要使用“逐行进入”(F11)和“跨过”(F10)的功能,它们可以在你设置了断点后一次执行一行代码。

或者使用工具栏,这通常是我所做的,因为我总是记不住快捷键,并且它有工具提示:

调试工具栏图像

来自这里:

您可以使用多种方法逐步调试代码,您可以使用 F11 逐行调试,使用 F10 跨越内部方法调用进行调试,或使用(Shift+F11)退出方法。

逐步执行:每个执行的代码行将被调试。当调用方法时,流程进入该方法并在完成后返回到调用行。

跨过:与上面相同,但您不会调试内部方法调用。如果您已经知道一个方法正在工作,只是想在不进行调试的情况下调用它,则此工具更好。

退出:如果您使用“逐步执行”进入了一个方法,则“退出”将使您返回到调用该方法的点。


网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接