I would like to inspect a method's return value without having to re-execute the method itself. I believe my only option is to use the disassembler. I came to this conclusion after reading the responses to Stackflow question Getting a Method's Return Value in the VS Debugger.
I think the value in register EAX is my return value. How do I inspect the object pointed to by EAX in the debugger? Here is my disassembled return statement.
30: return SomeString();
000001bb mov ecx,dword ptr [ebp-3Ch]
000001be call FFF7A320
000001c3 mov dword ptr [ebp-78h],eax
000001c6 mov eax,dword ptr [ebp-78h]
000001c9 mov dword ptr [ebp-4Ch],eax
000001cc nop
000001cd jmp 000001D8
000001cf mov dword ptr [ebp-1Ch],0
000001d6 jmp 000001BA
31: }
000001d8 mov eax,dword ptr [ebp-4Ch]
000001db lea esp,[ebp-0Ch]
000001de pop ebx
000001df pop esi
000001e0 pop edi
000001e1 pop ebp
000001e2 ret