问题描述
首先,在WinDbg.exe中是否可以通过添加SOS.dll来查看C#代码中的局部变量?
我使用 .cordll -ve -u -l
将 SOS.dll 扩展加载到 WinDbg.exe
命令。机器是x86。命令的结果是:
CLRDLL: Loaded DLL C:\Windows\Microsoft.NET\Framework\v4.0.30319\mscordacwks.dll
Automatically loaded SOS Extension
CLR DLL status: Loaded DLL C:\Windows\Microsoft.NET\Framework\v4.0.30319\mscordacwks.dll
我认为 SOS.dll 已成功加载。然后我想在代码中插入一个 BreakPoint。通过测试 F9 似乎不起作用。所以我使用 !bpmd
命令插入一个断点,如下所示:
0:004> !bpmd MyCode.exe Program.Main
PDB symbol for clr.dll not loaded
Found 1 methods in module 00714044...
MethodDesc = 00714d50
Setting breakpoint: bp 00760869 [Demo.Program.Main(System.String[])]
Adding pending breakpoints...
0:004> bl
1 e Disable Clear 00760869 0001 (0001) 0:****
但结果是:
0:004> g
eax=00000024 ebx=00000001 ecx=00eff73c edx=77592740 esi=00000000 edi=77621a20
eip=77592740 esp=00eff73c ebp=00eff750 iopl=0 nv up ei pl zr na pe nc
cs=001b ss=0023 ds=0023 es=0023 fs=003b gs=0000 efl=00000246
ntdll!KiFastSystemCallRet:
77592740 c3
为什么没有命中断点?
希望大家能给我一些帮助!
解决方法
暂无找到可以解决该程序问题的有效方法,小编努力寻找整理中!
如果你已经找到好的解决方法,欢迎将解决方案带上本链接一起发送给小编。
小编邮箱:dio#foxmail.com (将#修改为@)