我正在寻找一种通过Visual Studio Debugger(使用DTE)获取方法返回值的方法。如果我在方法的右边括号但尚未退出,是否有可能获得它?此外,如果不通过即时窗口再次评估函数,这将是最好的。
答案 0 :(得分:1)
不。调试器没有足够的信息来说明JIT编译器生成返回值的代码的确切方式。它是抖动的重要实现细节以及它为其生成代码的特定架构。
像对象和整数类型这样的简单类型不是很大的问题,通常是EAX / RAX寄存器,FPU堆栈或XMM0寄存器。当方法返回结构时,它会变得复杂。它被映射到结构适合的寄存器,但是当结构太大时需要在临时堆栈缓冲区中溢出。
我怀疑他们需要在抖动生成的元数据上做很多工作才能使其正常工作。您将知道该工作何时完成,它将在“自动”窗口中显示。就像以前一样,回到简单的日子里。