约有 1,303 项符合查询结果, 以下是第 98 - 131项。
费时 < 1 秒。
在内核调试会话中可以呀,比如:
lkd> !handle 0124processor number 0, process 88aba020PROCESS 88aba020 SessionId: 0 Cid: 15f8 Peb: 7ffd4000 ParentCid: 00a8 DirBase: 18900cc0 ObjectTable: e42403c8 HandleCount: 87. Image: windbg.exe
Handle table at e333c000 with 87 Entries ...
Posted in WinDbg
by
格蠹老雷
on 2009-04-13
从启动本地内核调试时的输出信息来看:
*** ERROR: Symbol file could not be found. Defaulted to export symbols for ntkrnlmp.exe -
调试符号路径设置的有问题。
下面这个警告信息不应该出现:
Unable to read selector for PCR for processor 0
建议你设置好调试符号,重新操作一遍。如果还有问题,可能与你本机上的安全类软件有关,不妨先到一台环境相对简单的系统上做成功后再找着一台上面的问题。
Posted in 《软件调试》的示例程序
by
格蠹老雷
on 2009-04-13
对于,清单8-4,需要在内核调试会话中设置用户态断点,具体操作时,需要先得到用户态进程的EPROCESS地址,然后.process /p EPROCESS切换当前进程,而后再设置用户态断点。因为这样的繁杂步骤与讨论的主题关系并不十分密切,如果把它们都写到正文中就不够直接了当,行文也会比较拖沓,所以就没有放在正文中。
对于“问题是下断点之前我还不知道它的调用函数序列,又如何能下合适的断点呢?”,这通常需要比较多的分析和知识积累。
对最后一个问题,可以使用wt命令来帮忙,参见P959.
Posted in Windows内核调试
by
格蠹老雷
on 2009-04-13
剥离了私有信息的公共符号文件(《软件调试》P773),不包含源代码行信息。其实也删除了类型信息。
Posted in WinDbg
by
格蠹老雷
on 2009-04-13
请执行一下下面两条命令,然后把结果贴上来:
.sympath
.chain
Posted in 《软件调试》的示例程序
by
格蠹老雷
on 2009-04-13
r gdtr 可以显示出GDT的基地址,然后dd可以显示原始数据
r gdtl可以显示GDT的长度
Posted in Windows内核调试
by
格蠹老雷
on 2009-04-10
使用这种方式打印时,会以参数BREAKPOINT_PRINT(值为1)(参见《软件调试》18.6.6节)来调用调试服务,调试服务发起INT 2D异常后,KiDebugService做了一些预处理工作后,便跳转到KiTrap03。从KiDebugService跳转到KiTrap03后,要传递的调试信息会被当作断点异常的参数信息而传递给异常分发函数,对于没有内核器的情况下,系统会调用KdpTrap这个简易的内核调试器处理函数。KdpTrap内部如果发现是断点异常,且参数1是BREAKPOINT_PRINT,那么就调整EIP后返回了,也就是把要打印的消息抛弃了。
u nt!KdpStub
...
804f6c37 83f901 cmp ecx,1 ...
Posted in WinDbg
by
格蠹老雷
on 2009-04-10
单步跟踪与普通用户态调试的方法一样,按F10 :-)
这样回答可能还不够,你也许想知道如何中断到合适的进程,那么典型的做法是:
1) !process 0 0 debuggee.exe 记下这个进程的EPROCESS地址
2) .process /p EPROCESS
将这个进程设置为当前进程
3) bp /p EPROCESS 模块!函数
例如: bp /p 814d1020 ntdll!NtReadFile 设置针对指定进程的用户态断点
断点命中后,可以单步跟踪或者执行其它操作。
Posted in 《软件调试》答疑
by
格蠹老雷
on 2009-04-07
这是DDK中的WPP机制定义的宏,不是CPUWhere自己的函数,参见16.6.2,P430.
Posted in 《软件调试》的示例程序
by
格蠹老雷
on 2009-04-06
单步跟踪时,默认会保持当前的指令位于窗口中间,所以基本上是一行行滚动的,除非遇到跳转指令。当汇编窗口使用方向键浏览代码时是有上面描述的问题,我的做法是,浏览汇编代码时用uf或者u命令反汇编指定的函数或者地址,让结果显示到命令窗口中,命令窗口中可以随便怎么浏览。
Posted in 高端调试团队
by
格蠹老雷
on 2009-03-30