当前位置: 首页 > 编程语言 > C#

在不设置断点的情况下在VisualStudio2010中调试所有事件分享

时间:2023-04-10 21:30:47 C#

在不设置断点的情况下在VisualStudio2010中调试所有事件等等。有没有办法在不设置断点的情况下捕获应用程序正在执行的每一行代码?编辑:我没有写程序,所以我不熟悉代码。我想遍历整个程序,捕获正在执行的每一行代码。在每个事件上设置断点是不切实际的,因为各种控件是动态创建的。要在不设置断点的情况下调试按钮单击:使用调试器启动应用程序。在预期的点击之前达到状态。返回调试器并按Pause,然后按F11(StepInto)——没有任何反应。转到应用程序并按下按钮-调试器应该接管并将您放入事件处理程序。注意:如果您处理Paint、任何鼠标事件或可能的其他事件,这将不起作用。每次尝试上述步骤时,调试器都会将您放入这些处理程序中。如果您使用的是VisualStudio2010的终极版,则可以使用称为IntelliTrace(以前称为历史调试器)的新功能。这将允许您完全按照自己的意愿行事-能够查看程序执行期间发生的所有方法调用和事件,并且能够跳回您需要的事件。要启用IntelliTrace,请转到工具→选项→IntelliTrace,然后选中“启用IntelliTrace”复选框并选择两种模式之一:“仅事件”或“事件和呼叫信息”,然后使用调试器程序(F5)运行应用程序.两种模式的区别在于后者使用探查器收集所有运行时信息,因此您可以获得完整的调用堆栈,但您将无法使用调试器的编辑和继续功能。您可以在本系列文章中找到更多信息,当然也可以在MSDN上找到。您也可以尝试使用代码覆盖工具。例如,如果您有Resharper和dotCover,您可以运行您的应用程序(通过dotCover->CoverApplication...菜单项),当应用程序完成时,dotCover将显示在VSIDE中运行的代码行并突出显示它们绿色。未运行的代码行显示为红色。我不知道是否有其他工具可以做到这一点,但这是一个选择。我开发了RuntimeFlow工具来解决这个问题——通过实时函数调用监控来理解大型陌生的.NET代码库。它与IntelliTrace类似,但更侧重于控制流而不是调试。你为什么要打破每一行?这将非常繁重且耗时。如果您想在程序执行时查看程序的活动,请使用日志记录机制或Debug.Writeline将信息输出到即时窗口。您无法跟踪代码行,但可以使用Trace.TraceInformation调用来了解执行了什么。还有调试。写。两个输出都将写入VisualStudio的输出窗口。另一种解决方案是向您的应用程序添加日志记录,例如使用log4net,但这可能对您的需求来说太过分了。这不是您要求的,但如果您不知道,可以打开或关闭现有断点。在您的情况下,您可以在整个代码的关键位置添加断点,并在您不想调试它们时禁用它们。这样,您可以在将来再次使用它们时重新启用它们。通过Debug>Windows>Breakpoints菜单(CTRL+D,B)下的Breakpoints窗口启用/禁用。您还可以在窗口中包含“函数”和“文件”列,这可以帮助您确定您关心的事件处理程序中的哪些断点不正确,但您可以设置断点并单步执行其余代码(F10/F11).不要-您需要自己设置每个断点。如果有帮助,F9是分配断点的快捷键-只需在每个方法的开头设置一个断点,然后从那里使用步骤(F10)/步骤(F11)。以上就是C#学习教程:不设断点调试VisualStudio2010中所有事件。如果对你有用,需要了解更多C#学习教程,希望大家多加关注——本文来自网络收藏,不代表立场,如涉及侵权,请右击联系管理员删除。如需转载请注明出处: