我正在使用Visual Studio 2010中的Son of Strike(SOS)调试托管应用程序。我想从特定位置运行原始内存转储,但我得到“预期结束表达式”错误。如果我附加WinDbg,那么我可以运行相同的'dd'命令。我该如何解决这个问题?
!clrstack -l
OS Thread Id: 0xd5c (3420)
Child SP IP Call Site
0050eeac 002700eb ConsoleApplication2.Program.Main(System.String[])
LOCALS:
0x0050eeb0 = 0x0240c178
0x0050eebc = 0x00000000
0050f0fc 6b4c21bb [GCFrame: 0050f0fc]
dd 0x0240c178
End of expression expected
dd 0x0050eeb0
End of expression expected
答案 0 :(得分:3)
在立即窗口中,您必须使用>dd 0x001AF2E0
才能使其正常工作。您必须在>
之前键入dd
。
dd 0x001AF2E0
End of expression expected
>dd 0x001AF2E0
0x001AF2E0 6d7c4938 ffffffff 001af34c 00000001
0x001AF2F0 002dd780 00000000 002dd780 ffffffff
0x001AF300 00000001 77a220f9 00000000 00713000
0x001AF310 002711a8 00000001 00000000 00000000
在命令窗口中,您只需输入dd 0x001AF2E0
。
答案 1 :(得分:1)
输入.cordll并查看sos dll是否已加载。
例如:
0:000> .cordll
CLR DLL状态:已加载的DLL C:\ Windows \ Microsoft.NET \ Framework \ v2.0.50727 \ mscordacwks.dll