WinDbg是一款Silverlight应用程序 [英] WinDbg a silverlight app
问题描述
我绝望地试图让一个人跑起来。请注意,这是我第一次尝试这个。
I am desperate trying to get windbg up an running. Please note that this is the first time I am trying this.
所以我想调试一个silverlight 5应用程序。以下是我正在做的事情:
1.我已经在本地发布了应用程序,然后运行它(http:// localhost / myapp),现在我使用了任务管理器获取iexplorer的PID(通过它正在使用的内存轻松识别)
So I want to debug a silverlight 5 application. Here is what I am doing:
1. I have published the application locally, and then run it (http://localhost/myapp), now i use the task manager to get the PID of the iexplorer (easily identify by the memory it is using)
2。我解雇了WinDbg(x64,因为我的机器是Windows 7 64位)
2. I fired WinDbg (x64, as my machine is windows 7 64 bit)
3。我按F6,进入"附加到处理"窗口并选择适当的流程
4.我加载了C:\Program Files \ MicroSoft Silverlight \ 5.1.20913.0\sos.dll
3. I press F6, to get the Attach to Process window and select the appropiate process
4. I load the C:\Program Files\Microsoft Silverlight\5.1.20913.0\sos.dll
5。我尝试采用失败的转储算法
5. I try to take a dumpheap which fails
这是WinDbg日志:
Here is the WinDbg log:
Microsoft (R) Windows Debugger Version 6.12.0002.633 AMD64
Copyright (c) Microsoft Corporation. All rights reserved.
*** wait with pending attach
Symbol search path is: SRV*D:\debug\symbols*http://msdl.microsoft.com/download/symbols;SRV*C:\WindDbWebSymbols*http://msdl.microsoft.com/download/symbols
Executable search path is:
ModLoad: 00000000`012f0000 00000000`013b4000 C:\Program Files (x86)\Internet Explorer\IEXPLORE.EXE
ModLoad: 00000000`77a70000 00000000`77c19000 C:\Windows\SYSTEM32\ntdll.dll
ModLoad: 00000000`77c50000 00000000`77dd0000 ntdll.dll
ModLoad: 00000000`75610000 00000000`7564f000 C:\Windows\SYSTEM32\wow64.dll
ModLoad: 00000000`755b0000 00000000`7560c000 C:\Windows\SYSTEM32\wow64win.dll
ModLoad: 00000000`755a0000 00000000`755a8000 C:\Windows\SYSTEM32\wow64cpu.dll
ModLoad: 00000000`77310000 00000000`77420000 KERNEL32.dll
ModLoad: 00000000`77700000 00000000`77747000 KERNELBASE.dll
ModLoad: 00000000`76210000 00000000`762bc000 msvcrt.dll
ModLoad: 00000000`76200000 00000000`76205000 api-ms-win-downlevel-advapi32-l1-1-0.dll
ModLoad: 00000000`762c0000 00000000`76360000 ADVAPI32.dll
ModLoad: 00000000`777b0000 00000000`777c9000 SECHOST.dll
ModLoad: 00000000`765d0000 00000000`766c0000 RPCRT4.dll
ModLoad: 00000000`75670000 00000000`756d0000 SspiCli.dll
ModLoad: 00000000`75660000 00000000`7566c000 CRYPTBASE.dll
ModLoad: 00000000`75c60000 00000000`75e75000 iertutil.dll
ModLoad: 00000000`75770000 00000000`75774000 api-ms-win-downlevel-version-l1-1-0.dll
ModLoad: 00000000`74ff0000 00000000`74ff9000 VERSION.dll
ModLoad: 00000000`75760000 00000000`75764000 api-ms-win-downlevel-user32-l1-1-0.dll
ModLoad: 00000000`757d0000 00000000`758d0000 USER32.dll
ModLoad: 00000000`775c0000 00000000`77650000 GDI32.dll
ModLoad: 00000000`756d0000 00000000`756da000 LPK.dll
ModLoad: 00000000`760d0000 00000000`7616d000 USP10.dll
ModLoad: 00000000`756e0000 00000000`756e3000 api-ms-win-downlevel-normaliz-l1-1-0.dll
ModLoad: 00000000`75950000 00000000`75953000 Normaliz.dll
ModLoad: 00000000`77c20000 00000000`77c24000 api-ms-win-downlevel-shlwapi-l1-1-0.dll
ModLoad: 00000000`77750000 00000000`777a7000 SHLWAPI.dll
ModLoad: 00000000`758e0000 00000000`75940000 IMM32.dll
ModLoad: 00000000`76360000 00000000`7642c000 MSCTF.dll
ModLoad: 00000000`61cc0000 00000000`61cc4000 api-ms-win-downlevel-shell32-l1-1-0.dll
ModLoad: 00000000`766c0000 00000000`7730a000 SHELL32.dll
ModLoad: 00000000`61cd0000 00000000`6278a000 IEFRAME.dll
ModLoad: 00000000`75eb0000 00000000`7600c000 ole32.dll
ModLoad: 00000000`76040000 00000000`760cf000 OLEAUT32.dll
ModLoad: 00000000`73780000 00000000`7391e000 COMCTL32.dll
ModLoad: 00000000`6f490000 00000000`6f4d1000 IEShims.dll
ModLoad: 00000000`777d0000 00000000`7784b000 COMDLG32.dll
ModLoad: 00000000`75c50000 00000000`75c54000 api-ms-win-downlevel-ole32-l1-1-0.dll
ModLoad: 00000000`746d0000 00000000`74750000 UxTheme.dll
ModLoad: 00000000`75960000 00000000`75b24000 WININET.dll
ModLoad: 00000000`74be0000 00000000`74be8000 Secur32.dll
ModLoad: 00000000`75000000 00000000`7500b000 profapi.dll
ModLoad: 00000000`73770000 00000000`73774000 api-ms-win-downlevel-advapi32-l2-1-0.dll
ModLoad: 00000000`77490000 00000000`775b5000 urlmon.dll
ModLoad: 00000000`77450000 00000000`77485000 WS2_32.dll
ModLoad: 00000000`75940000 00000000`75946000 NSI.dll
ModLoad: 00000000`74b90000 00000000`74bcc000 MSWSOCK.dll
ModLoad: 00000000`61ca0000 00000000`61ca6000 WSHIP6.dll
ModLoad: 00000000`74b30000 00000000`74b4c000 IPHLPAPI.DLL
ModLoad: 00000000`74b50000 00000000`74b57000 WINNSI.DLL
ModLoad: 00000000`74fc0000 00000000`74fd6000 CRYPTSP.dll
ModLoad: 00000000`74ea0000 00000000`74edb000 RSAENH.dll
ModLoad: 00000000`74e30000 00000000`74e3e000 RpcRtRemote.dll
ModLoad: 00000000`76170000 00000000`761f3000 CLBCatQ.DLL
ModLoad: 00000000`58a30000 00000000`58a75000 SWEEPRX.dll
ModLoad: 00000000`61cb0000 00000000`61cb4000 api-ms-win-downlevel-shlwapi-l2-1-0.dll
ModLoad: 00000000`74a20000 00000000`74a33000 dwmapi.dll
ModLoad: 00000000`59420000 00000000`5a47b000 MSHTML.dll
ModLoad: 00000000`58cb0000 00000000`58ff7000 d2d1.dll
ModLoad: 00000000`58b70000 00000000`58ca5000 DWrite.dll
ModLoad: 00000000`749d0000 00000000`74a1c000 dxgi.dll
ModLoad: 00000000`58b50000 00000000`58b69000 dxgidebug.dll
ModLoad: 00000000`76010000 00000000`7603e000 WINTRUST.dll
ModLoad: 00000000`75b30000 00000000`75c50000 CRYPT32.dll
ModLoad: 00000000`758d0000 00000000`758dc000 MSASN1.dll
ModLoad: 00000000`74850000 00000000`749c5000 d3d11.dll
ModLoad: 00000000`6ecc0000 00000000`6ed25000 aticfx32.dll
ModLoad: 00000000`6f590000 00000000`6f59a000 atiuxpag.exe
ModLoad: 00000000`56d50000 00000000`57040000 atidxx32.dll
ModLoad: 00000000`73cf0000 00000000`73d4a000 netprofm.dll
ModLoad: 00000000`73df0000 00000000`73e00000 nlaapi.dll
ModLoad: 00000000`73ce0000 00000000`73ce8000 npmproxy.dll
ModLoad: 00000000`73c30000 00000000`73c7c000 apphelp.dll
ModLoad: 00000000`741a0000 00000000`741e4000 DNSAPI.dll
ModLoad: 00000000`73d50000 00000000`73d55000 WSHTCPIP.dll
ModLoad: 00000000`73d60000 00000000`73d66000 rasadhlp.dll
ModLoad: 00000000`73d70000 00000000`73da8000 fwpuclnt.dll
ModLoad: 00000000`6f420000 00000000`6f48f000 IEUI.dll
ModLoad: 00000000`59000000 00000000`59413000 JSCRIPT9.dll
ModLoad: 00000000`704b0000 00000000`704bb000 msimtf.dll
ModLoad: 00000000`61550000 00000000`6157e000 MLANG.dll
ModLoad: 00000000`73e00000 00000000`73ef5000 PROPSYS.dll
ModLoad: 00000000`62790000 00000000`628c0000 WindowsCodecs.dll
ModLoad: 00000000`6f2e0000 00000000`6f411000 NPCTRL.dll
ModLoad: 00000000`55760000 00000000`55e46000 agcore.dll
ModLoad: 00000000`73b70000 00000000`73bf4000 COMCTL32.dll
ModLoad: 00000000`74680000 00000000`746b2000 WINMM.dll
ModLoad: 00000000`70370000 00000000`70375000 MSIMG32.dll
ModLoad: 00000000`75750000 00000000`75755000 PSAPI.DLL
ModLoad: 00000000`74ad0000 00000000`74ae1000 NETAPI32.dll
ModLoad: 00000000`74b10000 00000000`74b19000 netutils.dll
ModLoad: 00000000`74af0000 00000000`74b09000 srvcli.dll
ModLoad: 00000000`74b20000 00000000`74b2f000 wkscli.dll
ModLoad: 00000000`703c0000 00000000`703cf000 samcli.dll
ModLoad: 00000000`73c80000 00000000`73cdf000 sxs.dll
ModLoad: 00000000`76430000 00000000`765cd000 SETUPAPI.dll
ModLoad: 00000000`75e80000 00000000`75ea7000 CFGMGR32.dll
ModLoad: 00000000`776e0000 00000000`776f2000 DEVOBJ.dll
ModLoad: 00000000`742b0000 00000000`742d1000 NTMARTA.dll
ModLoad: 00000000`75780000 00000000`757c5000 WLDAP32.dll
ModLoad: 00000000`61790000 00000000`61798000 CREDSSP.dll
ModLoad: 00000000`568c0000 00000000`56c2b000 coreclr.dll
ModLoad: 00000000`6f520000 00000000`6f52d000 MSOXMLMF.DLL
ModLoad: 00000000`754f0000 00000000`75593000 MSVCR90.dll
ModLoad: 00000000`62a70000 00000000`62aac000 OLEACC.dll
ModLoad: 00000000`57040000 00000000`570cc000 UIAutomationCore.DLL
(ef0.1988): Break instruction exception - code 80000003 (first chance)
ntdll!DbgBreakPoint:
00000000`77ac0590 cc int 3
0:041> .load C:\Program Files\Microsoft Silverlight\5.1.20913.0\sos.dll
0:041> !dumpheap -stat -type MySilverlightClientApp
Failed to load data access DLL, 0x80004005
Verify that 1) you have a recent build of the debugger (6.2.14 or newer)
2) the file mscordacwks.dll that matches your version of clr.dll is
in the version directory
3) or, if you are debugging a dump file, verify that the file
mscordacwks_<arch>_<arch>_<version>.dll is on your symbol path.
4) you are debugging on supported cross platform architecture as
the dump file. For example, an ARM dump file must be debugged
on an X86 or an ARM machine; an AMD64 dump file must be
debugged on an AMD64 machine.
You can also run the debugger command .cordll to control the debugger's
load of mscordacwks.dll. .cordll -ve -u -l will do a verbose reload.
If that succeeds, the SOS command should work on retry.
If you are debugging a minidump, you need to make sure that your executable
path is pointing to clr.dll as well.
0:041> .cordll -ve -u -l
CLR DLL status: No load attempts
有人可以帮忙。我不知道哪里出错了。此外,调试器会给出一些指令(验证)
Could someone please help. I don't know where I went wrong. Also, the debugger is given some instructions (verify that)
1。是的,我正在运行更高版本
1. Yes, I am running a greater version
2。不确定 - "与您的clr.dll版本匹配的文件mscordacwks.dll位于版本目录中" ,我怎么知道clr.dll的版本?什么版本的目录(例如:路径会有帮助)?
2. Not sure - "the file mscordacwks.dll that matches your version of clr.dll is in the version directory" , how do I know the version of the clr.dll? what version directory (e.g: path will be helpful)?
3。不,我不是在转储转储文件
最后,只是想知道我是否已经下载了所有正确的符号(符号文件夹中的appx 5.72MB,其中有两个子符号文件夹 coreclr.pdb和ntdll.pdb,以及一个pingme.txt文件(那些是从microsoft.com加载的文件,我不知道我会预计会有更多的
...)
3. No i am not debuging a dump file
Last, just wondering whether i have downloaded all the right symbols (appx 5.72MB in the symbols folder, which has two sub-folders coreclr.pdb and ntdll.pdb , and a pingme.txt file (those were the ones loaded from microsoft.com, I dont know i would have
expected quite a lot more...)
非常感谢
如果可能的话,请避免只提供一个链接 (我已经通过调试Silverlight与windbg)。
Please if possible avoid just putting a link ( i have been through so many regarding debugging silverlight with windbg).
推荐答案
我有一件新事要为你尝试为我工作:
I have a new thing to try for you that worked for me:
Silverlight通常在64位机器上运行32位,然后你需要32位版本的调试器。
Silverlight的sos.dll也有32位和64位,这两个必须匹配。
Silverlight usually runs 32-bit even on 64-bit machines and then you need the 32-bit version of the debugger.
Silverlight's sos.dll also comes in 32-bit and 64-bit and those two must match.
以32位形式使用两者(并处理讨厌的空格)和路径名中的括号)为我做了。
Using both in 32-bit form (and dealing with pesky spaces and brackets in the path name) did it for me.
我从以下方面获得了必要的提示:
I got the necessary hints from:
http://social.msdn.microsoft.com/Forums/silverlight/en-US/eb0d6749-277e-4d8d- 96db-be8ada124284 / how-to-use-windbg-for-silverlight-5?forum = silverlightgen
http://social.msdn.microsoft.com/Forums/silverlight/en-US/eb0d6749-277e-4d8d-96db-be8ada124284/how-to-use-windbg-for-silverlight-5?forum=silverlightgen
这篇关于WinDbg是一款Silverlight应用程序的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!