约有 1,303 项符合查询结果, 以下是第 97 - 131项。
费时 < 1 秒。
PEB位于用户态空间中,所以是进程相关的,观察前应该使用.process /p命令切换进程,例如:
PROCESS 8796f858 SessionId: 0 Cid: 17b8 Peb: 7ffdc000 ParentCid: 07e8
DirBase: 18900fa0 ObjectTable: 00000000 HandleCount: 0.
Image: wmiprvse.exe
lkd> .PROCESS /p 8796f858
Implicit process is now 8796f858
lkd> dt _PEB 8796f858
nt!_PEB
+0x000 ...
Posted in 《软件调试》的示例程序
by
格蠹老雷
on 2009-04-17
第1和20行都是注释,第12行是空行,编译后没有产生代码,所以调试器找不到这些源代码行的信息。
Posted in 《软件调试》的示例程序
by
格蠹老雷
on 2009-04-17
抱歉,IGTR属笔误,应该是IDTR。GDT表的有关寄存器叫GDTR。
Posted in WinDbg
by
格蠹老雷
on 2009-04-16
是因为你指定了DEBUG_ATTACH_NONINVASIVE标志,这个标志意味着开始一个非入侵式调试会话(《软件调试》P925),这样的调试会话是不可以设置断点和进行跟踪的。
Posted in C/C++本地代码调试
by
格蠹老雷
on 2009-04-15
就是CPU中的IDTR寄存器,《软件调试》P273
Posted in WinDbg
by
格蠹老雷
on 2009-04-15
找到地址后(r igtr),使用!pte命令来观察PTE,里面的位1为1表示可以读写,0代表只读,《软件调试》P56页或者IA-32手册上有描述。
Posted in WinDbg
by
格蠹老雷
on 2009-04-15
不客气;
之间做操作了呀,创建调试器进程,也就是那个CreateProcess调用。因为在创建子进程的过程中会引用父进程的设施,所以复制当前句柄的目的就是防止这期间父进程退出后系统销毁父进程的所有资源。
Posted in Windows内核调试
by
格蠹老雷
on 2009-04-14
一、你说的对,是应该&0x100,因为汇编代码是直接测试第二个字节(+0x69),我当时疏忽了,多谢。
7c863113 64a118000000 mov eax,dword ptr fs:[00000018h]7c863119 8b4030 mov eax,dword ptr [eax+30h]7c86311c f6406901 ...
Posted in Windows内核调试
by
格蠹老雷
on 2009-04-14
从上面的输出来看,执行.reload /f nt之前,符号有问题,使用的是DLL Export。但执行!process时的:Unable to read selector for PCR for processor 0来看,符号方面还有问题,参见:http://www.osronline.com/showThread.cfm?link=27072
建议你尝试一下设置好符号路径后,直接.reload,重新加载一下所有模块。
Posted in 《软件调试》的示例程序
by
格蠹老雷
on 2009-04-14