Find centralized, trusted content and collaborate around the technologies you use most.
Teams
Q&A for work
Connect and share knowledge within a single location that is structured and easy to search.
我正在寻找一种通过 Visual Studio 调试器(使用 DTE)获取方法返回值的方法。如果我在方法的右括号中但尚未退出,是否可以获得它?此外,最好在不通过即时窗口再次评估函数的情况下实现这一点。
没有。调试器没有足够的信息来说明 JIT 编译器生成代码以返回值的确切方式。它是抖动及其生成代码的特定架构的重要实现细节。
像对象和整型这样的简单类型问题不大,通常是 EAX/RAX 寄存器、FPU 堆栈或 XMM0 寄存器。当方法返回一个结构时,它会变得复杂。这被映射到结构适合的寄存器,但是当结构太大时需要溢出到临时堆栈缓冲区中。
我怀疑他们需要对抖动生成的元数据做很多工作才能使其正常工作。您将知道该工作何时完成,它将在“自动”窗口中可见。就像过去一样,回到简单的日子。