2

这种情况以前出现过,我想知道是否有任何方法可以确定主动运行的表单在代码中的执行位置?问题是,当我继承了一个我还不完全熟悉的非常大的应用程序并且我让它通过 VS.NET 2010 运行时。我可能会打开一个特定的屏幕,然后“哎呀,如果我可以开始调试就好了当我做'x'时”。

如果这一个带有一些按钮的简单表单,我什至不会在这里问;我不是那个新手。但是耗时的任务是,当我查看具有拖放功能、右键单击选项等的大型多项目解决方案中的选项卡式屏幕时,我必须花费 5-10 分钟跟踪在何处放置断点以进行调试。

我想知道是否有一种方法可以让 WinForms 应用程序通过 IDE 运行并执行“某些操作”来告诉 VS.NET 在下一个操作中闯入代码(显然没有断点,因为我不知道在哪里放一个)。这将为我节省大量时间来尝试以不那么简单的形式或一系列形式发生的事件。

我希望这是有道理的...

谢谢!

4

1 回答 1

2

是的,这有点可能。当您使用 Debug + Break All 时,99.9% 的可能性是您不会闯入作为项目一部分的代码。Winforms 应用程序通常处于空闲状态,循环发送消息并等待 Windows 告诉它发生了什么事。您将在 Application.Run() 语句处中断。

然后使用 Debug + Step Over 的技巧。程序恢复正常运行。然后给出一个 UI 命令(在您的问题中执行“x”),调试器将在实际代码的第一条语句处中断,通常在该命令的事件处理程序的开始处。不能完全保证该代码是相关的,例如,您可能会在 MouseMove 事件处理程序处中断。所以YMMV。

于 2012-12-05T20:43:51.957 回答