11

在立即窗口中,我可以执行一行代码。我还可以在特定点设置断点,这样当断点被命中时,程序就会停止,我可以在立即窗口中运行我的代码行。有什么方法(包括扩展)可以自动执行此操作吗?

4

2 回答 2

18

或多或少。您可以右键单击任何断点并选择“操作...”(VS 2017,请继续阅读旧版本)

那里唯一的选择是打印一条消息,这通常就足够了,但是您可以在其中运行任意代码。例如:{Console.WriteLine("Hello World")}

Visual Studio 2017 操作断点的屏幕截图

在旧版本的 Visual Studio 中,可以通过右键单击并选择“当命中...”来使用该选项:

Visual Studio When-Hit 断点的屏幕截图

这将输出:

Hello World
表达式已被评估,没有任何价值

这意味着您可以调用任意方法。任何其他副作用都会影响您正在运行的应用程序。我有时使用它来临时修补代码问题,而无需重新启动 64 位应用程序。

但是请记住,与正常程序执行相比,这非常慢。

于 2013-04-22T16:40:23.903 回答
1

Visual Studio 2017 的答案与 Thorarin 的答案类似,但一些 UI 组件发生了变化。

在 Visual Studio 2017 中,您要查找的菜单项是“操作”。

右键单击断点,然后选择“操作”,然后将要执行的代码{ .. code to execute .. }放在“将消息记录到输出窗口”字段中的括号内。

于 2018-06-29T19:59:15.413 回答