Warning: file_get_contents(/data/phpspider/zhask/data//catemap/6/cplusplus/144.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/6/apache/9.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C++ 调试Outlook插件时,Windbg无法加载clr.dll_C++_Dll_Windbg - Fatal编程技术网

C++ 调试Outlook插件时,Windbg无法加载clr.dll

C++ 调试Outlook插件时,Windbg无法加载clr.dll,c++,dll,windbg,C++,Dll,Windbg,我正在使用windbg为Outlook插件执行转储堆。这个插件是用C编写的++ 环境是32位的。Outlook版本是2010。我不确定.net版本是什么,但似乎只有v4.0版本包含clr.dll 首先,我设置了符号路径,然后连接到Outlook 我使用了命令“.load C:\Windows\Microsoft.NET\Framework\v4.0.30319\clr.dll” 并使用.chain查看,结果显示clr.dll位于链内 0:013> .chain Extension DLL

我正在使用windbg为Outlook插件执行转储堆。这个插件是用C编写的++

环境是32位的。Outlook版本是2010。我不确定.net版本是什么,但似乎只有v4.0版本包含clr.dll

首先,我设置了符号路径,然后连接到Outlook

我使用了命令“.load C:\Windows\Microsoft.NET\Framework\v4.0.30319\clr.dll”

并使用.chain查看,结果显示clr.dll位于链内

0:013> .chain
Extension DLL search Path:
    C:\Program Files\Windows Kits\8.0\Debuggers\x86\WINXP;C:\Program Files\Windows Kits\8.0\Debuggers\x86\winext;C:\Program Files\Windows Kits\8.0\Debuggers\x86\winext\arcade;C:\Program Files\Windows Kits\8.0\Debuggers\x86\pri;C:\Program Files\Windows Kits\8.0\Debuggers\x86;C:\Program Files\Windows Kits\8.0\Debuggers\x86\winext\arcade;C:\Windows\system32;C:\Windows;C:\Windows\System32\Wbem;C:\Windows\System32\WindowsPowerShell\v1.0\;C:\Program Files\Common Files\;C:\Program Files\SQL Anywhere 12\bin32;C:\Program Files\Windows Kits\8.0\Windows Performance Toolkit\
Extension DLL chain:
    C:\Windows\Microsoft.NET\Framework\v4.0.30319\clr.dll: image 4.0.30319.1022, built Tue Jan 07 22:55:34 2014
        [path: C:\Windows\Microsoft.NET\Framework\v4.0.30319\clr.dll]
    dbghelp: image 6.2.9200.16384, API 6.2.6, built Wed Jul 25 19:11:41 2012
        [path: C:\Program Files\Windows Kits\8.0\Debuggers\x86\dbghelp.dll]
    ext: image 6.2.9200.16384, API 1.0.0, built Wed Jul 25 19:16:43 2012
        [path: C:\Program Files\Windows Kits\8.0\Debuggers\x86\winext\ext.dll]
    exts: image 6.2.9200.16384, API 1.0.0, built Wed Jul 25 19:21:27 2012
        [path: C:\Program Files\Windows Kits\8.0\Debuggers\x86\WINXP\exts.dll]
    uext: image 6.2.9200.16384, API 1.0.0, built Wed Jul 25 19:21:18 2012
        [path: C:\Program Files\Windows Kits\8.0\Debuggers\x86\winext\uext.dll]
    ntsdexts: image 6.2.9200.16384, API 1.0.0, built Wed Jul 25 19:22:12 2012
        [path: C:\Program Files\Windows Kits\8.0\Debuggers\x86\WINXP\ntsdexts.dll]
但是,当我使用.cordl时,它显示没有CLR DLL

0:013> .cordll
CLR DLL status: No load attempts
我在网上搜索并尝试了MSDN建议的一些解决方案,比如“使用g让程序运行一段时间”

但是,无论我等待多长时间,clr.dll仍然没有加载

任何人都可以告诉我在哪里可以做进一步的尝试

或者,是否有其他方法可以执行“!dumpheap-stat”


谢谢。

.loadby sos clr
开始,如果sos加载成功,您可以
!dumpheap-stat
。谢谢LexLi,因为clr没有正确加载,所以如果我使用.loadby sos clr,windbg会告诉我“找不到模块clr”,如果我使用.load C:\xxxxxxxxxxx\sos.dll给出sos.dll的直接路径,那么仍然不会发生任何事情,就像我加载clr时你会有一些误解一样
clr.dll
sos
!dumpheap-stat
都用于.NET托管模块调试。如果您的模块是纯本机的,则不能使用任何此类调试方法。WinDbg中的本机调试不同。如果你真的想学习,从好书开始,比如《谢谢莱克斯利》,我认为这些书会有帮助:)因为这看起来像一个本地应用程序,那么
!heap-stat和address-summary可能就是你要找的