给定代码
[Test]
public void Test1()
{
var a = new A();
a
.Method1()
.Method2();
}
是否可以设置断点,以便在 Method1() 执行之后,但在 Method2 之前暂停执行,而无需转到 Method2 的定义并在那里放置断点?当我这样做时,断点出现在'a'处。
给定代码
[Test]
public void Test1()
{
var a = new A();
a
.Method1()
.Method2();
}
是否可以设置断点,以便在 Method1() 执行之后,但在 Method2 之前暂停执行,而无需转到 Method2 的定义并在那里放置断点?当我这样做时,断点出现在'a'处。
你不能在那里设置断点,但是你可以在整个语句上设置你的断点,然后使用右键菜单(Debug.StepIntoSpecific)上的“Step into Specific >”命令进入Method2()。
您还可以重复步入/步出以逐步完成复合语句的各个方法调用。
使用 Rider 而不是 Visual Studio。当使用流利的语法时,IntelliJ Idea 能够进行逻辑步进。现在是 2017 年,流畅的语法无处不在(LINQ)。对 Visual Studio 感到羞耻(甚至是 2017 年)。
不,调试器的可执行代码单元是一条语句。您的代码段中的方法主体中只有两个。将功能请求发布到 connect.microsoft.com。这将是一个艰难的销售,这在技术上并非不可能,但可能需要大量的重新设计工作。