windbg学习

1.copy C:\Windows\Microsoft.NET\Framework\v2.0.50727\SOS.dll Debugging Tools for Windows (x86)\SOS.dll

2.在c盘创建一个symbols目录

选择:创建一个符号库服务器命名为Symbols,分别创建两个目录OSSymbols(操作系统符号与二进制文件)和ProductSymbols(我们产品的符号和二进制文件)

设置环境变量:(步骤:我的电脑->选项->高级->系统选项)

path:D:\Program Files\Debugging Tools for Windows (x86);

(symsrv.dll、dbghelp.dll、symchk.exe、symstore.exe必须对符号服务器有读取与写入权限)

_NT_EXECUTABLE_IMAGE_PATH:SRV*C:\symbols*\\Symbols\OSSymbols*\\Symbols\ProductSymbols(windgb寻找pdb文件的地方)

_NT_SYMBOL_PATH:SRV*C:\symbols*\\Symbols\OSSymbols*\\Symbols\ProductSymbols*http://msdl.microsoft.com/download/symbols;D:\Program Files\Microsoft Visual Studio 8\SDK\v2.0\symbols(windgb寻找微型转储文件{当系统崩溃时,包含了应用程序的状态}的地方)

或者

windbg界面:

file->image file path (ctrl+i) SRV*C:\symbols*\\Symbols\OSSymbols*\\Symbols\ProductSymbols

file->symbol file path (ctrl+s) 输入:SRV*C:\symbols*\\Symbols\OSSymbols*\\Symbols\ProductSymbols*http://msdl.microsoft.com/download/symbols;D:\Program Files\Microsoft Visual Studio 8\SDK\v2.0\symbols


然后确定

1.创建一个SimpleConsoleApp.exe程序

 

Code

2.打开程序windbg.exe,用open execuable打开SimpleConsoleApp.exe程序

在command窗口执行

lm:列出已加载模块 v查看所有已加载模块的详细信息

ld:强制加载符号

.reload:重新加载所有未使用的符号

!sym:noisy 确切的了解windbg将符号加载到哪里及为何加载到哪里? quiet 关闭noisy输出

 |:显示进程状态

s: |0s设置0为活动进程

g:让程序继续运行

~:显示当前进程中的活动线程

.create:创建进程

.attach:附加进程

.tlist:显示服务对应的进程 -v

.chain:显示已加载的扩展代码如sos

!eeversion 查看sos的版本号

学习资源

1.http://blogs.msdn.com/johan/archive/2007/11/13/getting-started-with-windbg-part-i.aspx

2.http://www.cnblogs.com/lbq1221119/archive/2007/12/02/980274.html

3.http://www.cnblogs.com/560889223/archive/2008/11/14/1333209.html

你可能感兴趣的:(DB)