有没有办法打破Visual Studio中执行的下一行代码?

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了有没有办法打破Visual Studio中执行的下一行代码?相关的知识,希望对你有一定的参考价值。

我正在尝试追踪当我点击aspx页面上的特定元素时发生的错误...

在过去,我必须追踪处理该特定事件的类,并在我认为应该被击中的线上设置一个断点。在我最终找到正确的类之前,通常需要多次尝试....特别是如果类是一个隐藏在某处的用户控件...

因此,我想知道是否有任何方法可以让Visual Studio在单击aspx页面上的元素(例如按钮)后执行的下一行代码中断。我知道有一种方法可以打破任何抛出的异常,所以我想也许有类似的东西可以帮助我。

如果这种功能不可能,也许有人可以建议一种更好的方法让我快速找到我想要调试的类......

答案

您是否尝试过Debug> Break All(“暂停”)按钮? (Ctrl + Break)

它通常会在堆栈中的某个地方打破,就像在WinForms应用程序中的主窗体的Show()一样,但是如果你然后单步进入它,它通常会很好地适用于这种事情。

另一答案

你在寻找Step Into (F11)Step Over (F10)吗?

- 编辑

你也知道Call Stack窗口吗?它可以帮助您确定您的位置和发生的情况。

另一答案

Conditional Breakpoints可能是你的答案。您可以设置它们,如果您认为您的代码正在破坏,它们只会在条件满足时停止。

另一答案

调试 - >例外

检查抛出CLR异常。

编辑

可能性是你有CLR例外。使用此方法,调试器将始终在发生异常时中断。与读取堆栈跟踪相比,这非常方便。

另一答案

一些想法:

  • 如果为事件处理程序使用一致的命名约定,那么对它们进行全局搜索并添加断点应该是微不足道的。您可以在第一次点击时快速录制宏,然后播放宏以消除多次重复操作的痛苦。通过一些练习,您将能够在几秒钟内断开所有处理程序。
  • 为事件添加一个额外的事件处理程序(尽早创建它 - 例如在构造函数中 - 所以它在你的应用程序添加的所有其他事件处理程序之前添加,因此希望首先调用它)并在其中添加断点。一旦达到断点,就可以单步执行事件中的其他事件处理程序。
  • 编写一个自定义事件处理程序来处理单击并简单地生成一个新事件。将所有其他事件处理程序附加到此次要事件。然后,您可以断开第一个处理程序并逐步执行它调用的辅助处理程序。

以上是关于有没有办法打破Visual Studio中执行的下一行代码?的主要内容,如果未能解决你的问题,请参考以下文章

在 Visual Studio 调试器中打破按钮单击事件

有没有办法用 C# 在 Visual Studio 中调用已经存在的表单的函数

有没有办法在实例之间同步我的 Visual Studio Code 设置?

有没有办法使用键盘快捷键缩放 Visual Studio 文本编辑器?

命令行等效于 Visual Studio 正在执行的操作

Visual Studio 2017 15.5 打破 C++ TypeDefs