2

我正在寻找一种通过 Visual Studio 调试器(使用 DTE)获取方法返回值的方法。如果我在方法的右括号中但尚未退出,是否可以获得它?此外,最好在不通过即时窗口再次评估函数的情况下实现这一点。

4

1 回答 1

2

没有。调试器没有足够的信息来说明 JIT 编译器生成代码以返回值的确切方式。它是抖动及其生成代码的特定架构的重要实现细节。

像对象和整型这样的简单类型问题不大,通常是 EAX/RAX 寄存器、FPU 堆栈或 XMM0 寄存器。当方法返回一个结构时,它会变得复杂。这被映射到结构适合的寄存器,但是当结构太大时需要溢出到临时堆栈缓冲区中。

我怀疑他们需要对抖动生成的元数据做很多工作才能使其正常工作。您将知道该工作何时完成,它将在“自动”窗口中可见。就像过去一样,回到简单的日子。

于 2010-09-06T16:09:09.397 回答