【问题标题】:Cannot run 'dd' command in Visual Studio 2010 immediate window无法在 Visual Studio 2010 即时窗口中运行“dd”命令
【发布时间】:2012-04-04 14:05:20
【问题描述】:

我正在 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

【问题讨论】:

  • 该命令应该可以工作。我使用托管和非托管代码在我的测试中没有任何问题。你是如何在 Visual Studio 中加载 sos dll 的?

标签: visual-studio-2010 windbg sos


【解决方案1】:

在即时窗口中,您必须使用>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

【讨论】:

    【解决方案2】:

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

    例如:

    0:000> .cordll

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

    【讨论】:

      猜你喜欢
      • 2021-10-23
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2011-11-23
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2017-01-17
      相关资源
      最近更新 更多