|
|
|
|
|
|
|
《软件调试》答疑
帖子发起人: jlflyfox 发起时间: 2009-01-20 18:11 下午 回复: 3
|
帖子排序:
|
|
|
|
2009-01-20, 18:11 下午
|
jlflyfox
注册: 2008-10-28
发 贴: 65
|
发现几个问题,请问Raymond,发现错误是否发在这里,还是再开一个版面
|
|
|
|
刚好阅读到p61分页机制,之前,我发现了1个错误和2个疑问
1、p60那个14,偏移应该是c88
2、p58-p59的2.7.5应该加一个说明,就是第一个windbg attach后找到虚拟地址后,可能需要detach,否则第二个可能看不准
3、2.7.6 4M内存页情况,是否应该加一个attach 0号system进程哦,不过我自己attach不上
|
|
|
IP 地址: 已记录
|
报告
|
|
|
|
2009-01-20, 23:22 下午
|
格蠹老雷
注册: 2005-12-19
发 贴: 1,303
|
Re: 发现几个问题,请问Raymond,发现错误是否发在这里,还是再开一个版面
|
|
|
|
多谢你的建议,请管理员新加了一个版面,叫《软件调试》勘误与意见。
问题1的确是错误,已经在勘误列表中,http://advdbg.org/books/swdbg/errata.aspx,编号3.
问题2,因为第二个WinDBG是内核调试会话,所以第一个WinDBG不需要detach。不知道你说看不准是什么意思?
问题3,因为是在内核调试会话中,不需要attach到System进程,WinDBG中,attach命令是用来开始用户态调试会话的,也就是附加到一个应用程序进程,系统进程没有用户态部分,所以根本不能做用户态调试。我们要观察的是内核态的数据(页表、页目录等),因为内核空间是唯一的,所以当前在任何进程上下文都可以。
|
|
|
IP 地址: 已记录
|
报告
|
|
|
|
2009-01-22, 15:13 下午
|
jlflyfox
注册: 2008-10-28
发 贴: 65
|
Re: 发现几个问题,请问Raymond,发现错误是否发在这里,还是再开一个版面
|
|
|
|
谢谢回答。
对于2,我这里,如果用户模式的windbg不detach,那么内核模式的windbg看那个被attach的calc的页目录和页表,特别是后者,发现有的时候就是全0,我那边detach后,就没有问题,所以我也一度怀疑就是你上次教我的海森伯效应,但感觉又不象。
对于3,我自己这里尝试了几次,.process 打开的进程都是windbg本身,而不是system,所以才有疑问。
|
|
|
IP 地址: 已记录
|
报告
|
|
|
|
2009-01-22, 20:26 下午
|
格蠹老雷
注册: 2005-12-19
发 贴: 1,303
|
Re: 发现几个问题,请问Raymond,发现错误是否发在这里,还是再开一个版面
|
|
|
|
对于问题2,也许是巧合吧。
对于问题3,.process显示的是调试器眼里的当前进程,因为内核空间是所有进程共享的,所以当前进程是哪个都无所谓。也就是说,即使当前进程是WinDBG,也不影响观察页表、页目录这些位于内核空间的数据。
|
|
|
IP 地址: 已记录
|
报告
|
|
|
|
高端调试 » 图书 » 《软件调试》答疑 » Re: 发现几个问题,请问Raymond,发现错误是否发在这里,还是再开一个版面
|
|
|
|
|
|