原来一直使用Platform SDK 6.0A和VC++ 2008 命令行,今天换了1台机器,结果cl link debug后的exe文件老是不能执行,想想也别麻烦了,干脆升级一下开发环境吧, 我的机器是WindowsXP sp3, 32位
1. 到http://www.microsoft.com/download/en/details.aspx?id=17718下载dotNetFx40_Full_x86_x64.exe, Supported Operating Systems: Windows 7, Windows 7 Service Pack 1, Windows Server 2003 Service Pack 2, Windows Server 2008, Windows Server 2008 R2, Windows Server 2008 R2 SP1, Windows Vista Service Pack 1, Windows XP Service Pack 3, 新版WinDbg需要安装.dotnet 4.0环境.
2. 到http://www.microsoft.com/download/en/details.aspx?id=8442下载Windows SDKs, 文件是GRMSDK_EN_DVD.iso, 具体链接地址是http://download.microsoft.com/download/F/1/0/F10113F5-B750-4969-A255-274341AC6BCE/GRMSDK_EN_DVD.iso
3. 到http://www.microsoft.com/download/en/details.aspx?id=5807下载符号文件, 调试用的, WindowsXP-KB936929-SP3-x86-symbols-full-ENU.exe, 具体链接地址是http://download.microsoft.com/download/0/4/b/04b58a18-3c19-4b94-b454-a32215a48037/WindowsXP-KB936929-SP3-x86-symbols-full-ENU.exe
4. 安装dotNetFx40_Full_x86_x64.exe, GRMSDK_EN_DVD.iso, WindowsXP-KB936929-SP3-x86-symbols-full-ENU.exe, 我是缺省安装
5. 这里http://suddymail.org/show-136-1.html有篇文章, 说的是如何安装symbol文件的,供参考:
[zz]如何安装并使用Windows Symbol FileSubmitted by ╰☆往事如风 on 2007, December 21, 10:33 AM. 逆向工程
1. 下载符合你所运行的Windows版本的Windows Symbol Package:http://www.microsoft.com/whdc/devtools/debugging/symbolpkg.mspx
安 装路径随便你选,我一般就是默认的路径:C:\Windows\Symbols。当然这个东东不装也可以,不过我推荐安装,因为把所有的Symbol File都从Server上下载下来还是蛮花时间的,有了这个东东,大部分的Symbol File都可以直接在本地找到。
2. 安装最新版的Debugging Tools for Windows,下载地址如下:http://www.microsoft.com/whdc/devtools/debugging/default.mspx
这 一步很重要,因为最近微软对WinDBG的更新非常频繁,即使你不用WinDBG,我们也需要WinDBG安装包里的两个文件(dbghelp.dll和 symsrv.dll)来更新其他调试工具(譬如IDA和SoftICE)所附带的这两个文件,否则极易出现无法从微软Symbol Server上正确下载最新Symbol File的情况。
3. 添加环境变量_NT_SYMBOL_PATH,设定其值如下(当然如果你的Symbol Package不是安装在C:\Windows\Symbols目录下,请自行修改):
C:\WINDOWS\Symbols\16bit;C:\WINDOWS\Symbols\acm;C:\WINDOWS\Symbol\ax;
C:\WINDOWS\Symbols\cnv;C:\WINDOWS\Symbols\com;C:\WINDOWS\Symbols\cpl;
C:\WINDOWS\Symbols\dic;C:\WINDOWS\Symbols\dll;C:\WINDOWS\Symbols\drv;
C:\WINDOWS\Symbols\ds;C:\WINDOWS\Symbols\exe;C:\WINDOWS\Symbols\iec;
C:\WINDOWS\Symbols\ime;C:\WINDOWS\Symbols\ocx;C:\WINDOWS\Symbols\scr;
C:\WINDOWS\Symbols\sys;C:\WINDOWS\Symbols\tpl;C:\WINDOWS\Symbols\tsp;
C:\WINDOWS\Symbols\wpc;symsrv*symsrv.dll*C:\symserver*http://msdl.microsoft.com/download/symbols
这 里最主要的是最后一个路径:symsrv*symsrv.dll*C:\symserver*http: //msdl.microsoft.com/download/symbols,它表示如果在之前的路径,以及C:\symserver目录下都找不到所 需要的Symbol File,就从微软的Symbol Server上下载之,并把下载下来的Symbol File保存到C:\symserver目录下(我用这个目录是为了和DriverStudio中附带的一个Symbol Retriever工具保持一致。
4.用Debugging Tools for Windows安装目录下的dbghelp.dll和symsrv.dll文件覆盖第三方调试工具中所自带的这两个文件——如果有的话,譬如IDA, SoftICE,BoundsChecker,等等。确保这些调试工具中的这两个dll是最新版的。
现在可以测试一下了,打开Symbol Retriever,随便添加一个dll,点击按钮Get Symbols,如果一切正常,稍后会弹出一个协议对话框,确认后过一会儿就可以看见这个文件的status变成Done,我们可以在C:\ symserver\ntdll.pdb目录下找到ntdll.pdb,这就是我们想要的Symbol File。
ps:Symbol Retriever是softice里自带的一个软件。
2007-12-21 10:41 ps: 在看雪翻到下载地址了:
ftp://ftp.compuware.com/pub/driverstudio/outgoing/utility/SymRetriever.zip
地址来源文章:http://bbs.pediy.com/showthread.php?t=8063&highlight=Symbol+Retriever
6. 后来的, 就可以写make, 编译, 链接, 调试了.