让调试器中断下一个事件
Getting Debugger To Break On Next Event
在 Visual Basic 6.0 IDE 中,可以中断闲置的 运行 程序(等待 UI 线程上的事件)然后按 F8(一小步)。之后,任何点击、鼠标悬停或其他导致代码发生的事件都会导致调试器在要执行的下一行代码处中断,这将是事件处理程序中的第一行代码。例如,如果您显示一个带有确定按钮的数据输入表单,您可以在空闲时打破该表单,按 F8,然后单击确定按钮。然后调试器将突出显示 cmdOK_Click 事件处理程序中的第一行代码。
有没有办法在 Visual Studio 2017 年使用 C# Winforms 项目执行上述操作?我在 SO 上看到过类似的帖子,指示中断所有 (Ctrl-Alt-Break),然后按 F11(进入),然后单击表单上的按钮。但这是行不通的。当我按下 F11 时,程序返回到 运行 模式并处理事件而不会导致 IDE 中断并显示事件后要执行的第一行。
请注意,在 VB6 中 IDE 当您中断程序然后按 F8 任何 之后触发并导致事件处理程序的事件将导致 IDE 打破。我正在寻找 VS 2017 IDE 和 C# Winforms 程序的类似行为。
注意:请不要建议进入每个偶数处理程序并在代码的第一行设置断点——考虑到一个复杂的程序可能包含数千个事件处理程序,因此在每个处理程序中设置断点不是一个实用(或优雅)的解决方案。
F10(越过)和 F11(进入)都提供了所需的行为,但是 仅 如果 仅启用我的代码 选项正在:
在 Visual Basic 6.0 IDE 中,可以中断闲置的 运行 程序(等待 UI 线程上的事件)然后按 F8(一小步)。之后,任何点击、鼠标悬停或其他导致代码发生的事件都会导致调试器在要执行的下一行代码处中断,这将是事件处理程序中的第一行代码。例如,如果您显示一个带有确定按钮的数据输入表单,您可以在空闲时打破该表单,按 F8,然后单击确定按钮。然后调试器将突出显示 cmdOK_Click 事件处理程序中的第一行代码。
有没有办法在 Visual Studio 2017 年使用 C# Winforms 项目执行上述操作?我在 SO 上看到过类似的帖子,指示中断所有 (Ctrl-Alt-Break),然后按 F11(进入),然后单击表单上的按钮。但这是行不通的。当我按下 F11 时,程序返回到 运行 模式并处理事件而不会导致 IDE 中断并显示事件后要执行的第一行。
请注意,在 VB6 中 IDE 当您中断程序然后按 F8 任何 之后触发并导致事件处理程序的事件将导致 IDE 打破。我正在寻找 VS 2017 IDE 和 C# Winforms 程序的类似行为。
注意:请不要建议进入每个偶数处理程序并在代码的第一行设置断点——考虑到一个复杂的程序可能包含数千个事件处理程序,因此在每个处理程序中设置断点不是一个实用(或优雅)的解决方案。
F10(越过)和 F11(进入)都提供了所需的行为,但是 仅 如果 仅启用我的代码 选项正在: