是否有办法在不设置断点的情况下逐步执行Visual Studio 2008中的每一行代码?

时间:2010-02-22 00:00:28

标签: asp.net-mvc visual-studio debugging

我已下载了一个示例mvc应用程序,该应用程序具有相当多的代码并且相当复杂。为了理解代码,我希望逐行完成所有代码,因为我通过gui完成基本功能。问题是我不总是确定代码执行的是哪一行,所以我不能总是设置一个断点。

有没有办法在visual studio 2008中逐行查看所有代码,而不设置断点?

6 个答案:

答案 0 :(得分:1)

如果没有至少一个断点,我认为你无法做到。 在第一行代码上设置断点。

然后您可以step overstep into之后的每一行。

<强>更新 好的,RE你的评论:代码逐行执行顺序执行。我曾经看到它执行“乱序”的唯一一次是在激活某些编译器优化时使用Xcode。棘手的部分是代码仍然按顺序执行,但是优化使调试器搞砸了,使得看起来像它没有按顺序执行。

我想说看看Visual Studio的项目设置,并确保你没有玩过任何奇怪的编译器优化。你解释的内容不应该发生。

答案 1 :(得分:1)

不确定我是否理解正确,但您可以在达到第一行(有一个断点)后按F10,并按执行顺序逐步每一行。编辑:和F11“步入”。

答案 2 :(得分:1)

使用F10或F11启动项目。

答案 3 :(得分:1)

要尝试的一件事是向您在调用某些GUI操作时执行的特定函数添加一些断点。

然后,在调试器中断时检查调用堆栈,看看是否有任何公共库方法对每个调用堆栈都是通用的(即在调用堆栈的低端)。

那么也许你可以在库方法中添加一个断点来捕获所有的GUI操作。

答案 4 :(得分:1)

也许在应用程序启动事件中添加一行调用System.Diagnostics.Debugger.Launch()方法?

答案 5 :(得分:0)

回答这个问题为时已晚。但是,无论如何,如果有人还在寻找它,以防万一。尝试以下MVC项目选项。

  • global.asax文件中检查RegisterRoutes功能。并将断点放在MapRoute方法中使用的所有操作上。
  • 如果已启用security,则可能会转到AccountController的{​​{1}}方法。
  • 或者按LogOn运行项目并检查浏览器中的URL。

其中一个选项应该有所帮助。