关于项目上内存的bug,已经困扰我很久了,所以要下决心学习window调试。
关于这方面,建议看看《Windows高级调试中文版》这本书,会给你很多启示。
在进行windows调试前,先配置一下windbg的环境。我多数用windbg。因为害怕忘记,所以先记下。
下载wdk,wdk除了包含windbg外,还包括也许多有用的工具。
http://big1.cr173.com/WindowsDriverKit7.zip
下载对应的symbol包:
XPSP3的:
http://msdl.microsoft.com/download/symbols/packages/windowsxp/WindowsXP-KB936929-SP3-x86-symbols-full-ENU.exe
下完了解包到C:\WINDOWS\Symbols里(当然你也可以换任意位置)
windbg 访问符号需要两个文件(SYMSRV.DLL 和 SYMSTORE.EXE)所以添加主 path 环境变量中它们的路径进去,即:你的 windbg 安装目录.
操作方法:在桌面我的电脑点右键--属性--高级--环境变量,在系统变量列表框中找到 path 双击,在变量值最后面加一个分号再把你的安装目录写上.点确定. 这一步是告诉 windbg 那两个文件放在什么地方.
新建一个环境变量_NT_SYMBOL_PATH 值为: SRV*c:\mysymbol* http://msdl.microsoft.com/download/symbols
操作方法:桌面我的电脑点右键--属性--高级--环境变量 ,点击新建,把上面的变量名和变量值填上.这一步的意思是说告诉 windbg ,我的符号文件存放在c:\mysymbol 中(当然其实里面什么也没有,甚至这个文件夹也不存在,不过没关系,系统找不到的话会给你创建一个,并在上面的网址中去帮你下载符号文件放在里面)
运行 windbg 打开一个exe文件或者附加到一个进程里去, 你会看到 Symbol search path is: SRV*c:\mysymbol* http://msdl.microsoft.com/download/symbols
打开c盘看到有一个新目录 mysymbol,里面有 windbg 新下载的文件.
恭喜说明配置成功了.
参考:http://bbs.pediy.com/showthread.php?p=880388