由于缺少符号,WinDbg !heap命令无法工作
WinDbg !heap command not working due to missing symbols
我正在尝试使用WinDbg调试我的。net应用程序与c++非托管内存分配。
当我试图运行!堆命令,我得到以下错误消息:
0:022> !heap
*** ERROR: Symbol file could not be found. Defaulted to export symbols for C:Windowssystem32KERNEL32.dll -
*************************************************************************
*** ***
*** ***
*** 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 ***
*** ***
*************************************************************************
Invalid type information
如何修复这个错误?
使用以下命令修复符号路径:
.symfix
.reload
配置符号服务器。按照以下步骤操作:
- 为下载的符号创建一个本地目录。我将使用"C:Symbols"。
- 在"文件"菜单中选择"符号文件路径…"。
- 输入"SRV*C:Symbols*http://msdl.microsoft.com/download/symbols"并按"OK"。
- 再试一次。最初,在下载符号的过程中会有一些延迟。以后将使用本地副本(步骤1)。
您需要为您的应用程序设置符号,并使其指向windows符号服务器。对于windows符号服务器,你可以按Steve说的做。
" SRV * C: 符号* http://msdl.microsoft.com/download/symbols"
之后,设置!sym noisy,这将在详细模式下加载符号。
执行。reload,这样可以让你知道哪些符号是需要的,但没有找到。
如果你已经知道你的应用程序的pdbs的位置,使符号路径指向该位置,并重复上述步骤,以确保所有必需的符号都已加载
相关文章:
- Visual Studio 2019:使用 vcvars64 从命令行构建C++.bat不再工作
- 重新编译我们的FORTRAN代码并在C++中使用后,我们的system()或C_str()命令无法正常工作
- 如何在 curl 代码C++设置授权持有者标头?我得到的授权不足,即使它在命令行上工作
- mkdir 从命令行工作,但在使用 NFS 时C++失败
- 在 main() 中传递C++命令行参数,但要做同样的工作
- 如何使 getline 命令在 while 循环中工作
- c++libcurl无法访问,命令行正常工作
- Intotify观察者在LS或观看命令后停止工作
- Programm 在图形外壳中的工作速度比在命令外壳中更快
- MacOSX C++带有命令行应用程序的工作目录
- php自定义C++模块通过命令行工作,而不是在Web服务器上
- 需要帮助理解 friend 命令以及如何让我的主要 == 工作
- MFC 的"更新命令 UI"系统如何工作?
- C++Excel命令以在同一工作簿中打开新工作表
- 命令在终端中工作,但不通过 QProcess
- 我在让非常基本的命令提示符文本处理器工作时遇到问题。ofstream() 的问题
- 做系统();命令的工作方式与批处理命令完全相同
- 如何使 Linux 命令行程序在 Windows 中工作
- glVertexAttribBinding的顺序绘制命令未按预期工作
- 用于命令替换时,ncurses程序无法正常工作