Re: 勘误求证
《软件调试》答疑
勘误求证
阿福
2008-07-05, 22:48 下午
第202页,9.3.3节,倒数第二自然段倒数第三行开始:
原文:而SuspendThread()和ResumeThread() API(对应与NtSuspendThread内核服务和KeSuspendThread)操作的是SuspendCount字段。
疑问:这里的KeSuspendThread是不是应该是NtSuspendThread。
第205页,倒数第二自然段开头一行:
原文:在调试器处理好调试事件后,它会通过ContinueDebugEvent API间接调用间接调用或直接调用nt!NtDebugContinue内核服务。
这里:两个“间接调用”好像多了一个。
暂时只看到这里!
Re: 勘误求证
格蠹老雷
2008-07-06, 11:27 上午
关于问题1,你的疑问是不是想表达为:“这里的KeSuspendThread是不是应该是NtResumeThread”?如果这样,那么这样修改是有道理的。原文的含义是,SuspendThread API对应的是NtSuspendThread内核服务,而NtSuspendThread内核服务内部实际上调用的是内核函数KeSuspendThread,其中的Ke是内核(狭义的内核)函数的前缀。
第2处的确如你说,是多了一个,我会将其放入勘误表中。
多谢你的意见。
Re: 勘误求证
阿福
2008-07-07, 23:13 下午
哦,我懂了!
原文意思是SuspendThread调用NtSuspendThread内核函数,NtSuspendThread又继续调用KeSuspendThread函数。
对应的 ResumeThread 调用NtResumeThread 内核函数, NtResumeThread 又继续调用KeResumeThread 函数。
看到251页,倒数第一段。 原文“如果当前进程不再被调试,那么进程的初始化函数不会调用DbgBreadkPoint"。
根据前文的意思我觉得”不再被调试“是别字误笔,“不再”应该是”不在”.
Re: 勘误求证
格蠹老雷
2008-07-08, 22:36 下午
对的,这里是别字,抱歉,我会将其加到勘误列表中。
Re: 勘误求证
阿福
2008-07-11, 00:35 上午
第332页,第二自然段,
原文”新的对话框增加了Send Erorr Report(发送错误提示)按钮,“
这里将Error拼写成了Erorr,这个段后面还有一处相同的错误。
第588页,倒数第三行,
原文”其中7c8100327是返回地址,000007c0是进程句柄(参数1)”
这里的000007c0印错了,应该是000007bc
Re: 勘误求证
格蠹老雷
2008-07-16, 21:33 下午
多谢,都已经放在勘误中。
Re: 勘误求证
skyworth
2008-07-28, 22:38 下午
关于勘误的勘误。
25 8.3.3 180 表8-2下面一段的最后一句话 SYSENTER_ESP_MSR的值是8053cad0 SYSENTER_ESP_MSR的值是8053cad0
第二个SYSENTER_ESP_MSR应该是SYSENTER_EIP_MSR吧?请证实。
Re: 勘误求证
格蠹老雷
2008-07-28, 23:05 下午
skyworth: 你说的对,我在做勘误时,忘记将后面一个改正过来了,现在好了,多谢。
Re: 勘误求证
skyworth
2008-07-29, 20:39 下午
^_^