让调试器在下一个事件中休息

问题描述 投票:1回答:1

在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程序的类似行为。

注意:请不要建议进入每个偶数处理程序并在第一行代码上设置断点 - 考虑复杂程序可能包含数千个事件处理程序,因此在每个处理程序中设置断点不实用(或优雅)解。

winforms visual-studio-2017 visual-studio-debugging
1个回答
2
投票

F10(Step Over)和F11(Step Into)都提供了所需的行为,但仅当启用了“启用我的代码”选项时:

enter image description here

© www.soinside.com 2019 - 2024. All rights reserved.