《Windows调试内幕——实用调试与跟踪技巧》翻译 Day 4: 样例代码
转载请注明出处,谢谢
翻译时间:2019-02-26
译者:周林
翻译进度:39/600(6.5%)
原书对应页码:第xx页 ~ 第xxv页
样例代码
本书的大部分章节都包含了实验和样例代码,用来指导你动手实践。你可以从以下地址下载实验所用到的程序:
http://go.microsoft.com/FWLink/?Linkid=245713
参照页面上的说明来下载Inside_Windows_Debugging_Samples.zip压缩文件。
安装样例代码
请遵循如下步骤在你的计算机上来安装样例代码,用来动手实践本书所讲到的实验和示例:
- 解压缩Inside_Windows_Debugging_Samples.zip到你的本地目录\Book\Code。
注意:不要在你的目录中出现空格符。否则,如“编译样例代码”一节所说的,DDK构建环境将不能成功编译样例源代码。建议你将\Book\Code作为根目录,因为本书正文所引用的程序,都将这个作为默认假设。随书样例代码是按照章节结构组织的,这意味着在这个根目录下,每一个文件夹对应一个章节。
2. 请浏览安装时弹出的License协议。如果你接受协议条款,点击“接受”按钮,接下来再点击“下一步”按钮。
注意:如果没有弹出License协议窗口,你也可以访问下载 Inside_Windows_Debugging_Samples.zip的页面进行浏览。
运行样例代码
样例代码按照本书章节结构进行组织,在阅读本书正文时,你可以很方便地进行查阅。
一些示例程序需要本地管理员权限才能运行。对于Vista及以后版本,运行这些程序时你需要拥有完全的管理员权限,即时你的账号属于内建的管理员安全群组也不行。例如在Windows 7上,你需要在开始菜单的命令行一栏上右击,在弹出菜单中选择“以管理员身份运行”,如下图所示:
编译样例代码
本书实验所用到的示例程序分为3类:
- C++样例:程序的二进制文件特意从压缩包中去掉了。当你在本地编译这些样例代码的时候,WinDBG可以自动定位符号和源代码。所以即便在WinDBG中没有显式指定符号和源代码路径,本书前几章的实验在这样的配置下也可以正常运行。一次性编译所有的本地代码的步骤将在本节的稍后部分介绍。
- .C#(.NET)样例:方便起见,所有编译后的.NET程序都被包含在压缩包中。你可以直接使用它们。如果WinDBG不支持源代码级的.NET调试,也没有关系,你可以遵循接下来的说明来重新编译.NET代码。
- JavaScript和Visual Basic Script样例:这些脚本由脚本引擎解释执行,不需要编译。
编译.NET样例代码
编译随书的.NET样例代码需要微软.NET框架4.0或者以上版本的支持。虽然Windows 7没有自带该版本,但是很多相关程序都会在操作系统上安装.NET框架4.0,比如Visual Studio 2010。你也可以访问如下地址手动独立安装该版本:
http://www.microsoft.com/download/en/details.aspx?id=17851
每个C#样例代码都对应有一个在同一目录下的编译脚本。脚本直接使用C# 4.0编译器,并且很容易按照如下方式被调用:
C:\book\code\chapter_04\LoadException>compile.bat
如果脚本没有找到C#编译器,你应该检查一下.NET 4.0框架是否安装在默认路径下。脚本假设它安装在默认路径下。如果你将.NET 4.0安装在其他目录下,那么你需要修改脚本来做适配。
编译C/C++样例代码
你可以使用Windows 7驱动开发包(DDK)的构建工具来编译随书C/C++样例代码。详细步骤如下。同时,我强烈建议你在开始阅读本书之前,先完成这些步骤,因为稍后章节的实验用到这些样例代码。
- 从微软下载中心下载Windows 7 DDK ISO映像:http://www.microsoft.com/download/en/details.aspx?id=11800。然后将它保存在你的本地磁盘驱动器上。如果你的网速比较慢,那么下载时间会有点长。DDK ISO文件的大小超过600MB。
2. 完成下载后,将ISO映像挂载到一个盘符上。有很多免费工具可用来在Windows上挂载ISO映像。Virtual Clone Drive,一款你可以在互联网上搜索到的免费工具,可以在Windows Vista和Windows 7上都运行正常。安装了该工具后,你可以右击ISO文件挂载,如下图所示:
3. 双击新挂载的驱动器,点击启动DDK安装程序,如下图所示:
4. 选择安装完整的DDK环境:
5. 将安装路径设置为C:\DDK\7600.16835.1,开始安装。整个安装过程将耗时数分钟。
6. 现在你可以右击对应盘符,在弹出菜单中选择卸载来卸载DDK驱动器。至此,Windows DDK构建工具的一次性安装结束。
7. 为了构建x86二进制映像,首先启动命令行,然后输入如下命令:
C:\DDK\7600.16385.1>bin\setenv.bat c:\DDK\7600.16385.1
8. 你可以一次性编译所有的本机样例代码。首先进入你解压缩随书源代码的根目录,然后键入如下命令。整个编译时间只需要几分钟。
C:\book\code>bcz