1

我正在使用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
4

2 回答 2

3

在立即窗口中,您必须使用>dd 0x001AF2E0它才能使其工作。您必须输入>before 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.

于 2012-04-07T01:06:29.563 回答
1

键入 .cordll 并查看是否加载了 sos dll。

例如:

0:000> .cordll

CLR DLL 状态:加载的 DLL C:\Windows\Microsoft.NET\Framework\v2.0.50727\mscordacwks.dll

于 2012-04-05T05:54:07.690 回答