约有 1,303 项符合查询结果, 以下是第 103 - 131项。
费时 < 1 秒。
对于用户态的EXE和DLL是用文件映射的。但是不用每个字节都I/O,因为一旦Page Fault,内存管理器是至少把一个页面的内容加载到物理内存的。
Posted in Windows内核
by
格蠹老雷
on 2009-02-11
大体理解你的意思,不过你的表述不是很准确,所以只能先初步回答如下。
首先,PFN(Page Frame Number)是描述物理内存的一种基本方式,相当于把物理内存分成页,每个页给一个编号,这个编号就叫PFN,翻译成中文可以叫页帧编号(《软件调试》P175)。PFN是页的编号,它的值乘以页大小(4KB)就是页的物理地址。二者的换算关系是:
PFN×4KB=页的起始物理地址
物理地址/4KB=这个物理地址的PFN
操作系统是以页为单位来组织物理内存的。因此内存管理器维护着一个全局的“数据库”来管理所有物理内存(页)的PFN,通常称为PFN ...
Posted in Windows内核
by
格蠹老雷
on 2009-02-10
建议你跟踪一下汇编代码,从main函数的入口处开始跟踪,就清楚了。如果遇到困难,那么可以把汇编清单贴过来。估计是编译器版本的差异。
Posted in WinDbg
by
格蠹老雷
on 2009-02-10
f98b2000真的不是驱动对象呀,根据lm命令的结果,这是ntfs模块的起始地址。
两次的提示信息不一样,导致的原因也不一样。
第一次的提示信息是没有找到叫那个名字的驱动模块。执行!drvobj aaaaa得到的提示信息也是那一句。
第二次的提示信息是找到模块了,但是没有找到这个模块的驱动对象。这通常是因为加载的扩展命令模块与调试目标的内核版本不匹配。像!drvobj这样的扩展命令是与内核版本有关的。仔细观察WinDBG的子目录(《软件调试》表29-3 P880),像WinXP、W2KFre、W2KChk这样的目录都是用来存放不同版本的扩展命令的。
建议你执行一下.chain命令,然后再执行一下version命令,把结果贴上来。
Posted in Windows内核调试
by
格蠹老雷
on 2009-02-10
图片没有显示出来(目前在帖子里加图不太容易),你能用文字描述一下吗?
Posted in WinDbg
by
格蠹老雷
on 2009-02-10
这个提示的意思是没有找到这样的驱动对象,可能是系统中真的没有加载NTFS驱动(用的是FAT32文件系统),也有可能是调试器的模块信息需要刷新。
所以,可以执行一下.reload命令,然后用lm命令观察系统中是否有ntfs模块。
Posted in Windows内核调试
by
格蠹老雷
on 2009-02-09
不知你是否已经读过优化手册(Intel 64 and IA-32 Architectures Optimization Reference Manual)的3.7.6节:REP Prefix and Data Movement
针对你描述的情况,先拷贝到通用寄存器肯定不可取。应该是使用REP MOVSD或者SIMD类型的指令。
Posted in CPU架构
by
格蠹老雷
on 2009-02-09
因为封底粘贴着一张光盘,所以我又多包了层报纸。:-)
拍的几张照片都很有创意,特别喜欢下边这张:
(看大图:http://advdbg.org/photos/swbkclub/images/1908/original.aspx)
对于一个有决心依靠技术实力取胜的年轻人来说,成功很难,也很容易,读懂这几本书,很难么?不少人会回答很难。但真的很难么?静下心来,赶走浮躁和急功近利的心态,或许相知恨晚的感觉就来了。
BTW:
关于你说的问题,我这里没遇到,服务器端最近一年也没做过改动(尽管很需要:-()。先尝试一下发帖子时编辑框下面的“恢复上一次设置”。如果还不行,尝试一下删除IE的临时文件(但可能删除掉其它网站的有用设置)。
Posted in 《软件调试》书友
by
格蠹老雷
on 2009-02-08