WinDBG调试断点命令详解
2015-01-11 20:20
603 查看
1.WinDbg下载:
Install Debugging Tools for Windows 32-bit Version http://www.microsoft.com/whdc/devtools/debugging/installx86.mspx Install Debugging Tools for Windows 64-bit Versions http://www.microsoft.com/whdc/devtools/debugging/install64bit.mspx
2. 配置WinDbg:
运行WinDbg->菜单->File->Symbol File Path->按照下面的方法设置_NT_SYMBOL_PATH变量:
在弹出的框中输入“C:\MyCodesSymbols; SRV*C:\MyLocalSymbols*http://msdl.microsoft.com/download/symbols”(按照这样设置,WinDbg将先从本地文件夹C:\MyCodesSymbols中查找Symbol,如果找不到,则自动从MS的Symbol Server上下载Symbols)。
另一种做法是从这个Symbol下载地址中http://www.microsoft.com/whdc/devtools/debugging/symbolpkg.mspx,下载相应操作系统所需要的完整的Symbol安装包,并进行安装,例如我将其安装在D:\WINDOWS\Symbols,在该框中输入“D:\WINDOWS\Symbols”。
(这里要注意下载的Symbols的版本一定要正确,在我的Win2003+Sp1上,我曾经以为安装Win2003+Sp2的Symbols可能会牛×点,但结果证明我错了,用WinDbg打开可执行文件时,提示“PDB symbol for mscorwks.dll not loaded;Defaulted to export symbols for ntdll.dll”的错误,
我有重新装上Win2003+Sp1的Symbols, 现在一切运行正常^_^)目录(D:\DevLib\SymbolLocal)不存在相应的Symbol file时,Windbg会自动从http://msdl.microsoft.com/download/symbols下载到本地目录
3.WinDBG调试断点
WinDBG调试断点命令详解: http://blog.csdn.net/WinGeek/ http://www.programlife.net/windbg-breakpoint-command-introduction.html
测试代码:
#include "windows.h"
int main()
{
HANDLE heap_handle = HeapCreate( NULL , 0x1000 , 0x2000 ) ;
char *buffer = (char*)HeapAlloc(heap_handle , NULL , 128) ;
char *buffer1 = (char*)HeapAlloc(heap_handle , NULL , 121) ;
HeapFree(heap_handle, 0 , buffer ) ;
HeapFree(heap_handle, 0 , buffer1 ) ;
HeapDestroy( heap_handle) ;
return 0 ;
}
设置断点
bu main
详细例子 http://www.cppblog.com/ay19880703/archive/2011/10/30/159364.html
Install Debugging Tools for Windows 32-bit Version http://www.microsoft.com/whdc/devtools/debugging/installx86.mspx Install Debugging Tools for Windows 64-bit Versions http://www.microsoft.com/whdc/devtools/debugging/install64bit.mspx
2. 配置WinDbg:
运行WinDbg->菜单->File->Symbol File Path->按照下面的方法设置_NT_SYMBOL_PATH变量:
在弹出的框中输入“C:\MyCodesSymbols; SRV*C:\MyLocalSymbols*http://msdl.microsoft.com/download/symbols”(按照这样设置,WinDbg将先从本地文件夹C:\MyCodesSymbols中查找Symbol,如果找不到,则自动从MS的Symbol Server上下载Symbols)。
另一种做法是从这个Symbol下载地址中http://www.microsoft.com/whdc/devtools/debugging/symbolpkg.mspx,下载相应操作系统所需要的完整的Symbol安装包,并进行安装,例如我将其安装在D:\WINDOWS\Symbols,在该框中输入“D:\WINDOWS\Symbols”。
(这里要注意下载的Symbols的版本一定要正确,在我的Win2003+Sp1上,我曾经以为安装Win2003+Sp2的Symbols可能会牛×点,但结果证明我错了,用WinDbg打开可执行文件时,提示“PDB symbol for mscorwks.dll not loaded;Defaulted to export symbols for ntdll.dll”的错误,
我有重新装上Win2003+Sp1的Symbols, 现在一切运行正常^_^)目录(D:\DevLib\SymbolLocal)不存在相应的Symbol file时,Windbg会自动从http://msdl.microsoft.com/download/symbols下载到本地目录
3.WinDBG调试断点
WinDBG调试断点命令详解: http://blog.csdn.net/WinGeek/ http://www.programlife.net/windbg-breakpoint-command-introduction.html
测试代码:
#include "windows.h"
int main()
{
HANDLE heap_handle = HeapCreate( NULL , 0x1000 , 0x2000 ) ;
char *buffer = (char*)HeapAlloc(heap_handle , NULL , 128) ;
char *buffer1 = (char*)HeapAlloc(heap_handle , NULL , 121) ;
HeapFree(heap_handle, 0 , buffer ) ;
HeapFree(heap_handle, 0 , buffer1 ) ;
HeapDestroy( heap_handle) ;
return 0 ;
}
设置断点
bu main
详细例子 http://www.cppblog.com/ay19880703/archive/2011/10/30/159364.html
相关文章推荐
- WinDBG调试断点命令详解
- WinDBG调试断点命令详解
- Windbg调试命令详解
- WinDBG 技巧:设断点命令详解(bp, bu, bm, ba 以及bl, bc, bd, be)
- WinDBG 技巧:设断点命令详解(bp, bu, bm, ba 以及bl, bc, bd, be)
- Windbg调试命令详解(1)
- Windbg调试命令详解(3)
- WinDbg 下断点命令详解
- Windbg调试命令详解
- WinDbg命令详解--远程调试
- Windbg调试命令详解(2)
- Windbg调试命令详解(1)
- WinDBG 技巧:设断点命令详解(bp, bu, bm, ba 以及bl, bc, bd, be)
- WinDBG 技巧:设断点命令详解(bp, bu, bm, ba 以及bl, bc, bd, be)
- WinDBG 技巧:设断点命令详解(bp, bu, bm, ba 以及bl, bc, bd, be)
- Windbg调试命令详解
- Windbg调试命令详解(3)
- Windbg调试命令详解(1)
- Windbg调试命令详解(4)
- WinDBG 技巧:设断点命令详解(bp, bu, bm, ba 以及bl, bc, bd, be)