!heap命令问题 Windbg

!heap是查看进程中堆情况的命令

使用后有如下提示:

*************************************************************************
***    Your debugger is not using the correct symbols                       ***
***                                                                                 ***
***    In order for this command to work properly, your symbol path       ***
***    must point to .pdb files that have full type information.            ***
***                                                                               ***
***    Certain .pdb files (such as the public OS symbols) do not            ***
***    contain the required information.  Contact the group that            ***
***    provided you with these symbols if you need this command to        ***
***    work.                                                                        ***
***                                                                                ***
***    Type referenced: ntdll!_HEAP_ENTRY                                     ***
************************************************************************* 

 !heap这个扩展命令需要系统DLL(NTDLL和KERNEL32.DLL)的符号,上面的提示是说缺少ntdll!_HEAP_ENTRY(描述堆块的基本数据结构,见《软件调试》P658)这个结构的符号。
解决的方法是连接符号服务器(P935),让WinDBG自动下载系统文件的符号,也就是在连着互联网的情况下执行下面的两条命令:
.symfix c:\symbols (设置符号服务器,并把c:\symbols作为下游符号库)
.reload (重新加载符号)

 

注:c:\symbols文件夹最好在你的工程中创建。

.symfix c:\symbols

.reload

 

posted on 2015-03-31 14:13  antigao  阅读(826)  评论(0编辑  收藏  举报