ACPI调试
Linux内核调试
Windows内核调试
 
  调试战役
调试原理
新工具观察
 
  Linux
Windows Vista
Windows
 
  Linux驱动
WDF
WDM
 
  PCI Express
PCI/PCI-X
USB
无线通信协议
 
  64位CPU
ARM
IA-32
  CPU Info Center
 
  ACPI标准
系统认证
Desktop
服务器
 
  Embedded Linux
嵌入式开发工具
VxWorks
WinCE
嵌入式Windows
沪ICP备05041459号
About AdvDbg Consult Train Services Products Tools Community Contact   登录 | 注册

IA-32

Intel Architecture 32-Bit
《软件调试》导读之绪论篇
《软件调试》的第1篇名为“绪论”,只包含一章,共26页,是全书最短的一篇。 第一篇要实现的几个目标是: 1)介绍基本概念和术语,为后面各篇打基础和做铺垫。比如,1.1.1节给出了Bug和Debug的定义,1.6节详细的讨论了BUG,1.4节介绍了常见的软件调试型态。 2)浏览本书要介绍的主要调试技术,比如,1.5节分10个专题(三级小节)浏览了本后后面要深入讨论重要调试技术。 3)突显软件调试技术的关键特征和重要性,1.2节(基本特征)和1.7节(与软件工程的关系)都是服务于这个目的的。 更多...

发布于 Sunday, August 24, 2008 5:12 PMRaymond2 篇评论

内核调试的EXDI方式
除了串行口、1394和USB 2.0这些链接方式外,WinDBG还支持一种很特殊的连接方式来做内核调试。这种方式被称为EXDI,通常写为eXDI。简单来说,EXDI是WinDBG与硬件调试器协同工作的一个接口。 《软件调试》的第7章介绍了JTAG调试协议和Intel CPU的JTAG支持,即ITP/XDP接口。ITP调试器借助专用的硬件设备(ITP调试仪)通过CPU的专用信号引脚与CPU通信,实施调试任务。 ITP/XDP调试器都有自己的软件,可以观察内存、设置断点、接收CPU的事件等。但如果使用ITP调试器调试Windows操作系统或者其中的驱动程序时,一个明显的问题便是难以处理调试符号和支持操作系统相关的观察功能,比如WinDBG的那么多个扩展命令所提供的功能。于是,一种很自然的想法便是把ITP调试器当作一种读写数据的特殊连接方式,让其为WinDBG传递数据。 更多...

发布于 Wednesday, August 06, 2008 9:30 PMRaymond0 篇评论

汇编与反汇编之小技巧
大家都知道,对于位于当前调试目标中的指令,可以使用WinDBG的u命令进行反汇编。u命令的参数是要反汇编代码的地址值或者符号,如果不指定,那么WinDBG会使用当前程序指针寄存器所指向的代码,例如: 0:001> untdll!DbgBreakPoint:7c901230 cc              int     37c901231 更多...

发布于 Thursday, July 03, 2008 10:34 PMRaymond1 篇评论

使用WinDBG观察启用PAE后的分页机制
我在《软件调试》一书的2.7节介绍了CPU的分页机制,因为这属于这本书的支持性内容,考虑篇幅限制,没有介绍启用PAE的情况。书出版后,很多读者对这一内容很感兴趣,也有读者遇到了启用PAE的情况。因此决定写这篇短文来介绍一下PAE的概况,以及如何在启用PAE后的系统中做2.7.5节的试验。 PAE是Physical Address Extension的缩写,即物理地址扩展。简单来说,就是把IA-32处理器的寻址能力从原来的4GB扩展到64GB。寻址4GB空间,要求物理地址的宽度为32位。类似的,要寻址64GB空间,那么物理地址的宽度就是36位。因为这个原因,PAE又被称为PAE-36bit。 更多...

发布于 Thursday, June 26, 2008 6:47 PMRaymond2 篇评论

手捧汗水的感觉
今天收到了编辑部快递给我的《软件调试》! 下班一进门,就看到了邮包,迫不及待的打开外面的包装后,里面是印有博文标记的纸袋,包裹的严严实实。因为《软件调试》的体型比较大,所以将其从纸袋中取出来还是费了点劲,也许是因为我有些激动。:-) 小女儿跑过来,要拿过来看一看,抱在怀里没走几步就喊重,显然这本书对她来说是有些重(后来称了下,1800克:-))。我把书接在手中,看着好亲切。仔细看了封面和封底后,大致翻阅了一下序言和正文,字体、行距、代码和插图看着都很舒服。特别是我担心的几幅插图,印刷出来后也很清晰。接下来,我想对它做一个“压力测试”。把书翻到差不多中间一页,向两侧用力掰了掰,然后再合上,看看书脊,没留下任何印记。看来装订的很牢固(不比担心像有些书那样一本被翻成几本)。而且翻开到中间页时,两边两页的文字都清楚可见。这样检查一番后,心中悬了许久的石头落地了。或者说持续了三年多的一次马拉松长跑终于到终点了。 更多...

发布于 Tuesday, June 03, 2008 11:22 PMRaymond2 篇评论

SEH无法捕捉内核代码的除零异常
在下面这小段代码中,存在一个故意的除零操作,并且使用了Windows操作系统的结构化异常处理(SEH)机制对其进行了保护。     59: n=1;     60: m=0;     61: __try     62: {     63:         n=n/m; 更多...

发布于 Friday, December 14, 2007 11:11 PMRaymond0 篇评论

关于早期PDC的简单介绍
不知道这是不是第一届PDC大会,但可以看到很多重量级的人物在其中演讲。再也不会有这样的PDC了! Microsoft Win32 Professional Developers Conference VideotapesMicrosoft University is pleased to announce the availability of a set of 22 videotapes of key sessions from the Win32 Professional Developers 更多...

发布于 Sunday, October 15, 2006 2:34 PMRaymond0 篇评论

刷CPU
大家一定听说过刷系统BIOS、刷网卡(上面的firmware)、刷显卡。其实CPU也是支持并可以刷新升级的。 随着CPU复杂度的不断提高,以及一些复杂指令(如多媒体和浮点运算)的引入,测试CPU的复杂度也在成倍提高。再加上集成芯片的生产特征使得可以通过软件刷新产品化的CPU成为必要。 刷新的具体过程和刷其它firmware很相似,通常是由BIOS程序在POST的早期阶段通过CPUID指令把新的数据(2048字节)更新到CPU内部的可擦写ROM上。 不过也有工具可以在操作系统启动后来更新(http://www.urbanmyth.org/microcode/) 更多...

发布于 Friday, May 12, 2006 10:22 PMRaymond2 篇评论

Captive, 另一种虚拟技术
听说过Captive么?简单说它是Linux下完全读写NTFS文件系统的一个免费方案。因为其它Linux下的免费NTFS驱动大多在写NTFS文件系统时会有问题。所以这个Captive号称彻底解决了这一问题,因此受到很多人的特别青睐。之所以能彻底解决问题呢?原因是使用微软的NTFS驱动来访问NTFS文件系统,可谓原汤化原食! 那么如何让NTFS驱动在LINUX下跑起来呢?很多人自然想到虚拟机技术。但是细想仍然有问题,如果使用虚拟机,那么虚拟机里的NTFS驱动如何与作为HOST OS的LINUX进行文件操作这样的密集型通信呢,岂不是很慢? 更多...

发布于 Thursday, March 02, 2006 1:36 PMadmin0 篇评论

Tom Shanley印象
Tom Shanley这个名字对国内的很多人来说可能还有些陌生,但是对他写的书也许很熟悉。 随意GOOGLE一下,就得到下面一个列表。 1.  Unabridged Pentium 4, The: IA32 Processor GenealogyBy Tom Shanley2.  PCI Express System ArchitectureBy Ravi Budruk, Don Anderson, Tom Shanley 3.  InfiniBand 更多...

发布于 Saturday, December 03, 2005 10:12 PMdbg0 篇评论

Resource for this Category

286软件手册(INTEL 80286 PROGRAMMER'S REFERENCE MANUAL 1987) Intel Type: text/plain
INTEL 80286 PROGRAMMER'S REFERENCE MANUAL, IA32手册的前身。11章,4个附录,很多内容看了仍有耳目一新的感觉。
Size: 703023 Bytes 231
386软件手册(INTEL 80386 PROGRAMMER'S REFERENCE MANUAL 1986) Intel Type: application/pdf
INTEL 80386 PROGRAMMER'S REFERENCE MANUAL。386是IA-32 CPU的鼻祖,该手册是关于386处理器的最好软件资料。今天仍值得一读。
Size: 1096291 Bytes 396
WDF User-Mode Driver Framework MSFT Type: application/vnd.ms-powerpoint
Size: 548864 Bytes 239
OSR关于WDF一书的介绍 OSR Type: application/pdf
Size: 19706 Bytes 279
How to Develop a KMDF Driver MSFT Type: application/vnd.ms-powerpoint
Size: 529408 Bytes 224
How to Port WDM Drivers to KMDF MSFT Type: application/vnd.ms-powerpoint
Size: 766976 Bytes 228
ACPI 3.0规范 ACPI Type: application/x-zip-compressed
Size: 2927462 Bytes 308
CPU的机器检查机制 Raymond Type: application/msword
这是Raymond在《程序员》杂志上的调试专栏系列文章之一。
Size: 160256 Bytes 202
PCI标准(Rev2.2) SIG Type: application/pdf
尽管今天PCI Express总线已经逐渐普及,但是PCI Express总线在很多方面(尤其是软件层次)沿用了PCI标准中的很多内容。
Size: 3835553 Bytes 119
Windows Vista内核演进 张银奎 Type: application/vnd.ms-powerpoint
这是2006年10月22日在上海.Net俱乐部活动上演讲时使用的PPT。
Size: 937472 Bytes 354
Windows Vista与XP的内核模块和内核函数比较 张银奎 Type: application/vnd.ms-excel
比较Windows Vista与XP的内核模块和内核函数,本来是作为《Windows Vista内核演讲》的演讲演示用的,但由于时间关系,现场没有来得及展示。
Size: 1037824 Bytes 394
Understanding and Using Execution Context in Windows NT Drivers Open Systems Resources, Inc. Type: application/pdf
Size: 273747 Bytes 47
CPU的同步机制漫谈 张银奎 Type: application/msword
关于CPU同步机制的入门级介绍,曾经发表在《程序员》杂志上。
Size: 102912 Bytes 37
ADVDBG内核调试挑战1 Type: application/pdf
ADVDBG内核调试挑战1
Size: 111599 Bytes 27
 
Legal Notice Privacy Statement Corporate Governance Corporate Governance
(C)2004-2005 Advanced Debugging Ltd. All Rights Reserved.