VS 2013 可以向我展示我的代码所采用的路径的可视化表示吗?

Posted

技术标签:

【中文标题】VS 2013 可以向我展示我的代码所采用的路径的可视化表示吗?【英文标题】:Can VS 2013 show me a visual representation of the path my code takes as I take it? 【发布时间】:2014-10-22 10:55:09 【问题描述】:

当我在调试时,Visual Studio 允许我在任何地方放置一个断点,这反过来又允许我单步执行代码。但是,有时我会遇到一个问题,我认为是第一个调用的方法,实际上不是第一个调用的方法。例如,我认为我的按钮的 onclick 首先被调用,但实际上,它是母版页上的另一种方法,甚至是我的 Global.asax 中的某些东西,然后它会更改一个变量,然后更改我的代码采用的代码路径,然后破坏了我的代码。

我正在寻找的东西基本上是:在调试时在 Visual Studio 中按下此按钮,然后执行一些导致回发(或以其他方式在后端发生的事情)的操作,然后 Visual Studio 会自动转到第一个方法调用并开始以稳定但可理解的速度逐步执行代码(尽管方法调用时间更长,并且只遍历我自己的代码,而不是库引用中的任何内容),直到您告诉它停止。

我知道这听起来像是剖析,但实际上并非如此。分析只是在你做你的事情时被动地收集数据,然后显示出来。没有关于发生的事情的实时反馈,我无法对分析器的结果做出正面或反面。事实上,上次我使用内置的 VS 分析器时,如果我没看错的话,我最常用的 3 个密集方法之一就是分析器本身。

理想情况下,我想要的是一种看起来和感觉都像自动调试器的东西,每隔 0.5 秒就会进入 F11,但会跳过外部 DLLS。

这样的事情存在吗?

【问题讨论】:

我听到了两件事:1)当你按下一个键时进入调试器,然后2)慢慢运行它以便你可以观看它。对于 (1),您可以使用“暂停”按钮。 (如果你进入系统调用,只需按 shift-F11 直到你出来。)对于(2)你可以连续按 F11,或者当你进入系统调用时按 F10。 OTOH,如果您真的想知道什么需要时间,只需暂停几次并查看调用堆栈 (this method)。您对分析器的失望并不奇怪。 【参考方案1】:

Runtime Flow 扩展(由我开发,30 天试用)可以实时显示代码所采用的路径。认为它与 VS 调试是分开的,需要对 ASP.NET 项目进行一些手动配置。

【讨论】:

这看起来是最好的解决方案。我还没有尝试过,但它接近我想要的。【参考方案2】:

这是一个非常复杂的要求。我并不是说这是一个坏主意,如果这样的事情是可能的,那就太棒了,但我非常怀疑它在任何地方都可用。我从来没有听说过这样的 VS 功能甚至插件。

【讨论】:

以上是关于VS 2013 可以向我展示我的代码所采用的路径的可视化表示吗?的主要内容,如果未能解决你的问题,请参考以下文章

VS 2013 脚手架中的“运行所选代码生成器时出错”

VS2013 调试器无法再解析包含源代码路径的系统环境变量

VS2013中设置全局属性

使用VS2013+QT5.7.0开发简单计算器

怎样使用vs2013开发工具中的源代码管理器TFS

VS2013如何显示代码运行所用时间