约有 1,303 项符合查询结果, 以下是第 87 - 131项。
费时 < 1 秒。
explorer并不是什么关键的进程,如果整个系统都失去响应,那么建议还是先从CPU的状态找线索,然后看关键进程,比如CSRSS。死锁基本是肯定的,为什么不执行kdexts.locks,而非要执行用户态的?
Posted in Windows内核调试
by
格蠹老雷
on 2009-08-06
如果依赖调试符号,那么可以根据函数长度来找。否则没有什么通用的好方法,通常是反汇编分析。
Posted in WinDbg
by
格蠹老雷
on 2009-08-06
~有两类用法,
1)线程修饰符
2)切换当前CPU
用法1只能在用户态调试中使用,用法2只能在内核态调试中使用。
~*kb可以在用户态使用,在内核态中,可以使用!running -it来显示每个CPU的运行状态,完成类似的功能。
Posted in Windows内核调试
by
格蠹老雷
on 2009-08-06
内核中的全局变量MmNumberOfPhysicalPages标志着物理内存的大小,以页为单位,x86架构中,即以4KB为单位。
内核函数NtQuerySystemInformation(SystemBasicInformation, ...)可以获取MmNumberOfPhysicalPages的值。
SDK中提供了一个API来调用这个内核服务,目前不推荐使用,但是仍可以使用。
Posted in Windows内核调试
by
格蠹老雷
on 2009-08-05
多谢你的细心,应该是23.11~23.15节,会加入到勘误中。
Posted in 《软件调试》的示例程序
by
格蠹老雷
on 2009-08-03
《Windows Internals》第4版有Cutler写的一篇序,回顾了NT的历史。在这本书的第一版(书名还叫Inside Windows NT)中,也有一篇Cutler写的书,叙述了他读书和工作的主要经历和开发NT的一些。
此外,如果你有机会读WRK的文档,那里面应该有Cutler写的几篇NT内核设计文档(http://advdbg.org/blogs/advdbg_system/articles/391.aspx)。
在早年的一次PDC大会上(http://advdbg.org/blogs/advdbg_system/articles/225.aspx),Cutler有一次演讲,某个美国大学的录像资料库里有录像。
6. Windows NT Kernel ...
Posted in Windows内核调试
by
格蠹老雷
on 2009-08-02
估计你试验的是第二种方法,因为WinBDG默认使用懒惰的(Lazy)模块加载策略,确实需要时才加载,所以有时可能需要先执行一下k命令,让其追溯栈回溯,从而需求用户态的模块,然后再重载模块。
Posted in WinDbg
by
格蠹老雷
on 2009-07-31
第一点的意见很好。
第二点主要是用来演示FPO的情况,书中以VC6的发布版本为例,使用VC2005编译发布版本也会使用FPO,如果VC2008下禁止了FPO,那么可以尝试在函数前增加:
#pragma optimize( ''y'', on )
Posted in 《软件调试》的示例程序
by
格蠹老雷
on 2009-07-30