一、Windbg版本信息
Windbg分32位和64位版本,32位程序应使用32位Windbg调试,64位程序应64位Windbg调试。
若想使用64位的Windbg分析32位的程序, 使用如下命令进行CPU模式的切换:
.load wow64exts;!sw
//例如:
1.查看线程停在哪里
~*kb;.load wow64exts;!sw;
二、Windbg调试程序步骤
方法1:File->Open Executable(打开一个.exe可执行文件)->在Windbg窗口执行g(Go);出现如下错误:
ERROR: Symbol file could not be found. Defaulted to export symbols for ntdll.dll -
ntdll!LdrInitShimEngineDynamic+0x35c:
以Viusal Studio为例,一般发布给客户的程序,我们采用Release
模式编译程序,而Release
模式与Debug
模式,有个很大的区别: Release模式编译出来的程序默认是不带PDB相关信息的,而Debug模式则有.
没有设置符号信息的路径,所以找不到符号。这里所说的符号信息就指上述PDB文件,并且在默认Release模式编译出来的程序,会带有一个同名的PDB文件。你也可以通过配置Visual Studio的配置项来决定是否产生PDB文件:
项目属性->链接->Debugging->生成debug信息(Generate Debug Info)
方法2:先运行一个.exe->File-&