<2024年4月>
31123456
78910111213
14151617181920
21222324252627
2829301234
567891011

文章分类

导航

订阅

Driver Development

Driver Development
调试笔记:双误异常导致的蓝屏(二)
书接上回,今天继续分析双误异常导致的蓝屏。上次说到因为发生双误,CPU动用硬件的任务切换机制,切换到了专门用于处理双误异常的新线程。在分析了TSS结构和栈回溯中的TSS信息后,我们找到了切换回本来触发双误线程的方法,也就是执行.tss 28命令。 0: kd> .tss 28eax=f655d5d4 ebx=af0d4180 ecx=00000000 edx=af0d2081 esi=80460dd0 edi=f655d7d4eip=aebc6af2 esp=f655cfb8 ebp=f655d7dc 更多...

发布于 2010年4月5日 23:36Raymond2 篇评论

D1蓝屏、指针和安全的代价
在从Hibernate恢复时,发生D1蓝屏,蓝屏的基本信息为: DRIVER_IRQL_NOT_LESS_OR_EQUAL (d1)An attempt was made to access a pageable (or completely invalid) address at aninterrupt request level (IRQL) that is too high.  This is usuallycaused by drivers using improper addresses.If 更多...

发布于 2008年9月14日 17:31Raymond0 篇评论

Vista的启动调试
在Vista之前,NTLDR是Windows操作系统的加载程序,它负责将CPU从实模式切换为保护模式,加载内核文件和启动类型的驱动程序,然后把执行权交给内核文件的入口函数,即KiSystemStartup。 从要完成的任务角度来看,NTLDR内部又分为两个部分,一部分负责接受执行权,做模式切换,硬件检查,即启动的准备工作,这部分通常称为boot;另一部分负责加载内核文件,并为内核的运行做必要的准备,通常称为OsLoader。 Vista将以上两个部分分成两个独立的程序文件,即BootMgr和WinLoad.exe。下图描述了BootMgr和WinLoad的相互关系和它们在启动过程中的作用。 更多...

发布于 2008年7月28日 21:54Raymond4 篇评论

Alex Ionescu
Alex是ReactOS的设计者之一。以下是ReactOS网站上他的简介(http://www.reactos.org/wiki/index.php/Alex_Ionescu): Early Life Alex Ionescu was born on April 26th, 1986, in the city of Bucharest, RomaniaSon of a doctor and an engineer, he took up a passion with computers at 更多...

发布于 2007年1月28日 14:02admin0 篇评论

驱动编写必读:内核栈
每个线程的内核态栈与用户态栈有着很多不同。内核栈是分配在内核地址空间中的,这注定其大小要受到很多限制。 How do I keep my driver from running out of kernel-mode stack? The kernel-mode stack is a limited storage area that is often used for information that is passed from one function to another as 更多...

发布于 2006年8月25日 21:27tudouni0 篇评论

WinFS开发团队的BLOG
想知道关于WinFS开发的一些内幕信息么?想了解WinFS开发的最新情况么?WinFS团队的BLOG是寻找这些问题答案的不二选择。 以下两篇特别值得推荐: Monday, June 26, 2006 8:26 PM Update to the Update Hi. Wow there has been a lot of, let’s say, interest in the posting Friday. I knew there would be interest, and I knew 更多...

发布于 2006年7月2日 22:18Raymond0 篇评论

美哉,Kernel Debug - Detach Kernel Debugger
我想通过上面这个标题,记下调试中的一些趣事或有意义的细节。因为时间关系,这些小文章可能很简短,只是个简单的记录还来不及寻求更多深层的原因。 Detach Kernel Debugger 因为我经常是用我的笔记本电脑(Debugger)来调试另一台机器(Debugge). 所以每天下班时,如果调试还没有结束. 我就只好把Debugger detach下来, 第二天再继续. 有两种方法可以把WinDbg和被调试的机器分离开. 一种方法是让Debuggee在那里"死等"一夜. 具体做法是通过WinDbg的Debug菜单上的Detach 更多...

发布于 2006年5月12日 22:20Raymond0 篇评论

"checked" build 和"free" build的来历
Where do "checked" and "free" come from? By Larry Osterman People who have MSDN or the DDK know that Windows is typically built in two different flavors, "Checked" and "Free".  The primary difference between the two is that the "checked" build 更多...

发布于 2006年4月18日 14:24admin0 篇评论

KeBugCheck2的第6个参数
大家知道,DDK公开了两个内核API用于产生BSOD,分别是KeBugCheck()和KeBugCheckEx()。其原型分别如下: VOID   KeBugCheck(IN ULONG  BugCheckCode    ); VOID   KeBugCheckEx(IN ULONG BugCheckCode,    IN ULONG_PTR  BugCheckParameter1,    更多...

发布于 2006年3月13日 10:38Raymond1 篇评论

关于驱动开发的几个必读BLOG 票数 优秀 [5 out of 5]。
对于从事Windows驱动开发的朋友,或者是对Windows内核感兴趣的朋友,以下几个BLOG值得经常看看! 1,Kernel Mustard by Steve Dispensa link: http://kernelmustard.com/category/ddk/ 他以前的BLOG地址为:http://msmvps.com/blogs/kernelmustard/default.aspx 2,Larry Osterman's WebLog - Confessions of an 更多...

发布于 2006年3月2日 14:52admin1 篇评论

Channel9中关于Windows内核的采访录像
今年一月份起,Channel9陆续访谈了一些微软内部的高级设计师和架构师,每次探讨Windows内核的一个方面。尽管录像和采访水准比.NetShow差很多,但是正因为采访的场合就在办公室,气氛也很随意,又很有针对性,因此谈的内容还是很值得一看的。建议大家茶余饭后边听边消遣一下。 Surendra Verma: Vista Transactional File System 42:35 12/2/2005 8 9,379 Singularity Revisited 更多...

发布于 2005年12月7日 12:42dbg1 篇评论

Powered by Community Server Powered by CnForums.Net