Stamp of Software Debugging
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
navigation bar seprate line
勘误

因为作者的水平和时间有限,本书中可能存在各种错误和偏颇,作者对此深表歉意。您可以把您发现的错误通过意见反馈栏目中列出的方式发给作者。

以下是已经发现的需要更正的地方,感谢提出这些意见的朋友,特别是楼奕华先生和北京的Thomson先生。

编号 章节 页码 确切位置 原文内容 更正
1 2.7.5 59 下数第5行 根据图2-11 根据图2-9
2 2.7.5 60 第13步的第6行 也就是说,页目录项的内容是0x3a6ae067,根据图2-9 也就是说,页表表项的内容是0x3a6ae067,根据图2-11
3 2.7.5 60 第14步的第1行 加上页内偏移(0xc8) 加上页内偏移(0xc88)
4 2.7.6 61 第3个自然段 PDE的高12位便是物理地址的高12位,因此将PDE的高12位加上线性地址的低24位... PDE的高10位便是物理地址的高10位,因此将PDE的高10位加上线性地址的低22位...
5 25.6.3 766 第3个自然段 其中MSF代表Microsoft Stream Format, 其中MSF代表Multi-Stream Format,
6 6.1 134 下数第1、2段和图6-1的标题 P5_MC_TPYE P5_MC_TYPE
7 12.9.3 354 第一个自然段最后一句 DNGHELP.DLL DBGHELP.DLL
8 29.6.1 893 倒数第二个自然段 Process Serer Process Server
9 24.6.3 737 本节最后一句话 感兴趣的读者可以阅读参考文献5和6 感兴趣的读者可以阅读参考文献2和3
10 30.12.2 964 本小节第2段第3行 与bp命令一样,如果指定序号,那么WinDBG会自动编排。 与bp命令一样,如果不指定序号,那么WinDBG会自动编排。
11 30.4.6 923 表30-5第4行 |*,当前进程的所有进程 |*,当前系统的所有进程
12 30.4.3 919 表30-3第6行 $ip ...x86即EIP,x64即eip $ip ...x86即EIP,x64即rip
13 30.3.1 913 最上面一段的最后一句话 Dock0又有5个子窗口,即我们打开的5个工作窗口 Dock0又有4个子窗口,即我们打开的4个工作窗口
14 30.11 955 最末一句话 使用单步(Step)一词来指代一种方式;使用跟踪(Trace)一词来指代一种方式 使用单步(Step)一词来指代一种方式;使用跟踪(Trace)一词来指代一种方式
15 28.8.4 865 最末一句话 下一节将介绍Java平台的调试器标准,JPDA。 --在缩减篇幅时,JPDA一节被删除了,因此这一句话也应该删掉--
16 28.3.1 841 下数第二自然段的第一句话 8086 Mnitor是与名为CPU Suport Card的硬件一起工作的 8086 Mnitor是与名为CPU Support Card的硬件一起工作的
17 11.4.4 295 本小节第3、4自然段的第一句话 EXCEPTION_CONTINUE_EXECUTION(1)...EXCEPTION_EXECUTE_HANDLER(-1) EXCEPTION_CONTINUE_EXECUTION(-1)...EXCEPTION_EXECUTE_HANDLER(1)
18 11.3.3 288 下数第二段的最后一句话 则说明Ccontinue失败 则说明Continue失败
19 12.8.6 349 下数第5行 Symbol Fole could not be found Symbol File could not be found
20 12.2.5 317 清单12-5上面一句话 系统在该函数也提供了一个SHE处理器 系统在该函数也提供了一个SEH处理器
21 12.3.1 321 下数第2句话 总是在默认桌面(WINST0\Default) 总是在默认桌面(Winsta0\Default)
22 4.1.1 76 图4-1中的消息文字 User breakpoint called from code at0x401038 User breakpoint called from code at0x401028
23 22.13 642 第1段第4行 栈指针省略(22.5节) 帧指针省略(22.5节)
24 22.13 642 表22-2第2行第1列 建立栈指针 建立帧指针
25 8.3.3 180 表8-2下面一段的最后一句话 SYSENTER_ESP_MSR的值是8053cad0 SYSENTER_EIP_MSR的值是8053cad0
26 10.6.1 251 最下面一段的第一句话 如果当前进程不被调试 如果当前进程不被调试
27 9.4.4 205 倒数第二段的第一句话 在调试器处理好调试事件后,它会通过ContinueDebugEvent API间接调用间接调用... 第二个简接调用该删除,重复了
28 12.4.2 332 第二自然段的第一句话 Send Erorr Report(发送错误提示 Send Error Report(发送错误报告)--另该段最后一长句中的Erorr也该为Error--
29 22.2.3 588 倒数第三行 其中,...000007c0是进程句柄 其中,...000007bc是进程句柄
30 22.3.3 592 倒数第三行 ESP寄存器总是指向位于栈的数据 ESP寄存器总是指向位于栈的数据
31 10.4.1 241 清单10-6下方第三段的第一句 DebugActiveProcess API在Windwos 2000中的工作过程... DebugActiveProcess API在Windows 2000中的工作过程...
32 12.2.2 312 清单12-3上方第4行 WinMainCRTStartup:UNICODE字符的... wWinMainCRTStartup:UNICODE字符的...
33 11.2.1 281 下部的列表(List) ...标志位有 ...标志位有--另外,最后一个黑点(bullet)应该去除,使其成为正文--
34 13.5.1 380 13.5.1节的第4行 MB_MB_ICONASTERISK MB_ICONASTERISK
35 12.9.4 354 12.9.4节的第1行 MiniDumpReadDump API MiniDumpReadDumpStream API
36 12.5.2 337 第3行 NtWaitForMultipleObject NtWaitForMultipleObjects
37 12.4.1 328 倒数第5行 enum_HARDERROR_RESPONSE enum _HARDERROR_RESPONSE--加一空格--
38 15.3.2 411 第2段第1行 那幺,... 那么,--本章406、409、417页也各有一处这样的错误--
39 4.1.8 83 上数第13、15行 开始的5个字节651c202400都是一条指令...指令的第一个字节0x65 0x68
40 4.2.3 87 第2个整段的下数第3行 会自动将起始地址0xA003的低4位屏蔽掉 2
41 4.4.3 104 第2个整段后的汇编代码 EXHG SP, BP XCHG SP, BP
42 2.4.6 46 第7行 RnD、RnW、RnB(n=8~15)来引用 RnD、RnW、RnL(n=8~15)来引用
43 7.5 161 第2行 开发阶段的主才带有 开发阶段的主才带有
44 9.6.2 220 第5段第3行 此后的Windows 2000 Service Patch 此后的Windows 2000 Service Pack
45 11.3.1 285 图11-3 调用ZwTerminateThread终止当前线 调用ZwTerminateProcess终止当前
46 11.3.3 288 第4行 那么DbgkSendApiMessage会返回FALSE 那么DbgkForwardException会返回FALSE
47 11.3.3 289 下数第3段第2行 那么KiDispatchException会终止当前线 那么KiDispatchException会终止当前并调用KeBugCheckEx发起蓝屏
48 11.4.2 291 下数第6行 没有下线的关键字……加双下线的关键字 没有下线的关键字……加双下线的关键字
49 11.5.3 307 第4段第4行 要求的Windows版本定义为0x500或更高的值(_WIN32_WINNT=0x0500 要求的Windows版本定义为0x0501或更高的值(_WIN32_WINNT=0x0501
50 16.8.4 439 图下方第2行 Bext Boot+Driver Delays Next Boot+Driver Delays
51 18.1.5 465 下数第5行 除非特别指出“内核调试”,都是指...... 除非特别指出,“内核调试”都是指......
52 23.4.1 655 图23-2下第6行 位于HeapAlloc函数...... 位于HeapCreate函数......
53 23.12.3 696 第5行 如果定义了WINHEAP标志 没有定义WINHEAP标志
54 23.15.2 705 小节标题下第1行 从上面对_CrtMemDumpAllObjectsSince函数 从上面对_CrtDumpMemoryLeaks函数
55 24.4.2 722 倒数第2行 ExecutePPHandler ExecuteHandler
56 25.6.6 768 第3段第2行 PEB_HEADER70 PDB_HEADER70
57 27.4.1 816 清单27-4上方第2行 交给SHE去处理 交给SEH去处理
58 30.6.4 929 第6行 调用操作系统的TerminateProcess API来终止当前线 调用操作系统的TerminateProcess API来终止当前
59 30.6.4 929 清单30-1下方第2行 会收到线程退出事件 会收到线程和进程退出事件
60 12.9.4 355 图12-14上方第2行 读取转文件的过程 读取转文件的过程
61 - 833 下数第8行 没有明确的标准呢? 没有明确的标准

navigation bar seprate line
Copyright (C) 2008 Raymond Zhang