1.GNU 工具链开发入门(一):工具链介绍
2.ObjdumpObjdump 的源码源码使用
3.目标代码目标文件格式
4.èå±ä»£ç 0x000000d1(0xf4a4fd4c 0x00000002 0x00000000 0xf4bfded9)
5.å¦ä½ä½¿ç¨oprofile对软件åprofiling
GNU 工具链开发入门(一):工具链介绍
进入GNU工具链开发领域,首先需认识到GNU/Linux世界中,下载GNU工具链扮演着不可或缺的源码源码角色。尽管在代码耦合程度和可读性方面,下载GNU工具链可能不如使用Apache协议的源码源码LLVM广受欢迎,但只要GNU/Linux系统持续存在,下载lame源码解析GNU工具链的源码源码使用不会停止。作者自年开始深入探索GNU工具链开发,下载并通过系列文章整理知识体系,源码源码分享个人经验。下载
GNU工具链主要由三个部分构成:GCC、源码源码GAS和LD。下载GCC作为编译器集合,源码源码包含多种编译器,下载如用于C语言的源码源码刷直播人气源码GCC、用于C++的G++等,而GAS是汇编器,负责将汇编代码转换为机器代码。LD则是链接器,将生成的模块链接成可执行文件或共享库。
在GCC的使用中,编译过程可以被详细拆解。一个简单的示例为使用`gcc hello.c -o hello`命令编译hello.c文件并生成hello程序。这里实际涉及多个步骤:首先,GCC调用C语言编译器cc1将源代码编译为汇编代码;随后,GAS将汇编代码转换为对象文件;最后,LD链接库文件,生成最终的可执行文件。
在构建程序时,易卡网源码GCC通过调用AS和LD完成汇编和链接过程,具体参数的传递可能依据不同后端的设置。此外,BFD(Binary File Descriptor)是Binutils仓库中用于底层操作的工具集,包括as、ld等。
GLibc作为GNU C Library,在构建GNU/Linux和Linux内核时扮演关键角色。它包含几乎所有的UNIX标准,对构建过程至关重要。作者对GLibc的理解仍停留在浅层阶段,专注于RISC-V后端相关工作,对C库的具体实现不敢妄加评论。
构建GCC的usb通信源码过程通常基于上游最新代码进行,步骤包括配置、编译、链接和安装等。具体步骤可参考相关指南或教程。构建GCC时需要注意版本兼容性、依赖库以及构建环境的设置。
总结,GNU工具链作为GNU/Linux生态系统的核心组成部分,为用户提供强大的编译和链接功能。了解其构成、使用方法以及构建流程,对深入参与GNU/Linux生态系统的开发工作至关重要。
ObjdumpObjdump 的使用
objdump是一个命令行工具,用于分析和反汇编可执行文件、淘宝商城网站源码共享库和目标文件。它支持多种格式,如COFF、ELF、MS-DOS等。本文将详细介绍objdump的基本选项和用途。
首先,让我们了解一些基本选项:
- `-a`:显示档案库的成员信息,与ar tv类似。
- `-b bfdname`或`--target=bfdname`:指定目标码格式。虽然不是必需的,objdump能自动识别许多格式,但可以通过它明确指定文件的格式,例如`objdump -b oasys -m vax -h fu.o`。
- `-C`:将底层的符号名解码成用户级名字,去除所有开头的下划线,使C++函数名以可理解的方式显示出来。
- `-d`或`--disassemble`:反汇编那些应该还有指令机器码的section。
- `-D`:与 `-d` 类似,但反汇编所有section。
- `-h`或`--headers`:显示目标文件各个section的头部摘要信息。
- `-i`或`--info`:显示可用的架构和目标格式列表。
- `-j section`或`--section=section`:仅仅显示指定section的信息。
- `-l`:用文件名和行号标注相应的目标代码,适用于与 `-d`、`-D` 或 `-r` 一起使用。
- `-m machine`或`--architecture=machine`:指定反汇编目标文件时使用的架构。
- `-r`或`--reloc`:显示文件的重定位入口。
- `-S`或`--source`:尽可能反汇编出源代码,特别是当编译时指定了调试参数如`-g`时。
- `-x`或`--all-headers`:显示所有可用的头信息,包括符号表、重定位入口。等价于 `-a -f -h -r -t`。
- `--version`:显示版本信息。
通过这些选项,objdump提供了强大的功能,用于调试、分析和理解二进制文件。例如,使用`objdump -a libpcap.a`可以查看libpcap库中的成员信息,与`ar -tv libpcap.a`的输出进行比较。
在实际应用中,`objdump`常被用来理解二进制文件的内部结构,查找特定指令或函数,或是在调试过程中分析代码行为。理解这些选项的用途和作用,将有助于更有效地使用`objdump`进行二进制分析工作。
目标代码目标文件格式
目标文件格式是用于存放目标代码和编译或汇编过程中生成的相应数据的计算机文件格式。 随着Unix和其他可移植操作系统的问世,人们定义了如COFF和ELF等格式,这些格式在不同系统上被广泛使用。链接器的输入和输出通常使用相同的文件格式,库文件和可执行文件格式也采用相同的格式。设计或选择一种目标文件格式是计算系统整体设计的关键部分,它影响链接器的性能以及程序员在开发过程中的耗时。 目标文件格式的设计影响着程序的运行时间以及系统对用户请求的响应速度。大部分目标文件格式采用区块组织方式,每块包含相同类型的数据。当虚拟内存系统需要这些块时,它可以通过将块分页后调入内存,无需进一步处理即可使用。 最简单的目标文件格式是DOS的COM文件格式,它仅由原始数据组成,并始终被加载到固定位置。其他格式通常由一组复杂且精密的数据结构序列组成,规范说明书往往有数页之多。 调试信息可以作为目标文件格式的一部分,如COFF格式中那样,或作为可能被多个目标格式使用的独立格式,如stabs或DWARF。 GNU计划的BFD库提供了一套通用的应用程序编程接口,用于操纵各种目标文件格式。 典型的目标文件格式支持的数据类型包括符号起始区域(BSSBlockStartedbySymbol)、正文段(textsegment或译作代码段)和数据段(datasegment)。这些格式的设计和使用在计算系统中扮演着关键角色,影响着开发效率、程序运行时间和系统响应速度。扩展资料
指源代码经编译后,产生的能被 CPU直接识别的二进制代码。èå±ä»£ç 0xd1(0xf4a4fd4c 0x 0x 0xf4bfded9)
èå±"ç硬件åå å解å³
"èå±"ç°è±¡å¤åå å大å°ãCPUé¢çãå 驱ã硬çç¢çççå ³ç³»å¯å......å¨è®¡ç®æºç使ç¨è¿ç¨ä¸ï¼ç»å¸¸ä¼éå°èå±çæ åµã对äºåå¦è æ¥è®²ï¼å¥½è±¡å°±æ¯ä¸åºçµèç¾é¾ä¸æ ·ï¼ä¸ç¥ææªãå ¶å®åªè¦äºè§£äºåå ä¹åå°±ä¸ç¨æäºãé æ计ç®æºèå±çåå æå¾å¤ç§ï¼ç¡¬ä»¶æ¹é¢çåå æ»ä½å¯ä»¥æ¦æ¬ä¸ºä»¥ä¸å ç§ï¼
ä¸ãå±å¹æ¾ç¤ºç³»ç»å¿ï¼è¯·æä»»æé®ç»§ç»â¦â¦
1ãèæå åä¸è¶³é æç³»ç»å¤ä»»å¡è¿ç®é误
èæå åæ¯WINDOWSç³»ç»æç¹æçä¸ç§è§£å³ç³»ç»èµæºä¸è¶³çæ¹æ³ï¼å ¶ä¸è¬è¦æ±ä¸»å¼å¯¼åºç硬çå©ä½ç©ºé´æ¯å ¶ç©çå åç2-3åãèä¸äºåç§å为äºå åå©ç¨ç©ºé´ï¼å°èªå·±ç硬çå¡å°æ»¡æ»¡çï¼å¿è®°äºWINDOWSè¿ä¸ªèå»çè¦æ±ãç»æ导è´èæå åå 硬ç空é´ä¸è¶³èåºç°è¿ç®é误ï¼æ以就åºç°èå±ãè¦è§£å³è¿ä¸ªé®é¢å¥½ç®åï¼å°½éä¸è¦æ硬çå¡å¾æ»¡æ»¡çï¼è¦ç»å¸¸å é¤ä¸äºç³»ç»äº§çç临æ¶æ件ã交æ¢æ件ï¼ä»èå¯ä»¥éæ¾ç©ºé´ãæå¯ä»¥æå¨é ç½®èæå åï¼éæ©é«çº§ï¼æèæå åçé»è®¤å°åï¼è½¬å°å ¶ä»çé»è¾çä¸ãè¿æ ·å°±å¯ä»¥é¿å äºå èæå åä¸è¶³èå¼èµ·çèå±ã
2ãCPUè¶ é¢å¯¼è´è¿ç®é误
è¶ é¢å¯¹äºåç§åæ¥è¯´æ¯å¸¸äºï¼æ以ç±è¶ é¢æå¼èµ·çåç§æ éä¹å°±å¨æé¾å äºãè¶ é¢ï¼å°±æ¬èº«èè¨å°±æ¯å¨åæçåºç¡ä¸å®ææ´é«çæ§è½ï¼ä½ç±äºè¿è¡äºè¶ è½½è¿ç®ï¼é æå ¶å é¨è¿ç®è¿å¤ï¼ä½¿CPUè¿çï¼ä»è导è´ç³»ç»è¿ç®é误ãæäºCPUçè¶ é¢æ§è½æ¯è¾å¥½ï¼å¦INTELçèµæ¬å¤çå¨åAMD-K6-2å¤çå¨è¿ç®è¾å¥½çï¼ä½ææ¶ä¹ä¼åºç°ä¸äºè«åå ¶å¦çé误ãï¼ä¾å¦ï¼ææ¾è¯è¿å°INTELèµæ¬Aï¼å¨è¶ é¢å°æ¶ï¼è½¯é©±å¨æ²¡ææ¥åå½ä»¤æ¶ï¼è¿è¡è¯»çæä½ï¼ãINTELçä½äºçCPU以åAMD-K5çè¶ é¢è½åå°±ä¸æ¯é£ä¹å¥½ã建议é«æ¡£çCPUè¦è¶ é¢æ¶ï¼é£ä¹æ£çå·¥ä½ä¸å®è¦å好ï¼æå¥½è£ ä¸ä¸ªå¤§çé£æï¼åå ä¸ä¸äºç¡ è¶ä¹ç±»çæ£çææãè³äºä¸äºä½æ¡£çCPUæå»ºè®®ä½ å°±æ好ä¸è¦è¶ é¢äºï¼å å¾è¶ é¢è¾¾ä¸å°é¢æ³çææåèç»å¸¸åºç°èå±å½±å计ç®æºçæ£å¸¸é度ã
äºãå åæ¡çäºä¸å ¼å®¹ææåå¼èµ·è¿ç®é误
è¿æ¶ä¸ªæç´è§çç°è±¡ï¼å 为è¿ä¸ªç°è±¡å¾å¾å¨ä¸å¼æºçæ¶åå°±å¯ä»¥è§å°ï¼æ ¹æ¬å¯å¨ä¸äºè®¡ç®æºï¼ç»é¢æ示åºå åæé®é¢ï¼é®ä½ æ¯å¦è¦ç»§ç»ãé æè¿ç§é误æ¯ç©çä¸çæåå åæè å åä¸å ¶å®ç¡¬ä»¶ä¸å ¼å®¹æè´ãè¿æ¶ååªææ¢è¿å¦å¤çå åäºã
ä¸ãå 驱å¨è¯»çæ¶è¢«éæ£å¸¸æå¼æè³
è¿ä¸ªç°è±¡æ¯å¨å 驱æ£å¨è¯»åæ°æ®æ¶ï¼ç±äºè¢«è¯¯æä½æå¼è导è´åºç°èå±ãè¿ä¸ªé®é¢ä¸å½±åç³»ç»æ£å¸¸å¨ä½ï¼åªè¦åå¼¹å ¥å çææESCé®å°±å¯ä»¥ã
以ä¸æ¯æå¨ç»´æ¤è®¡ç®æºä¸ç¢°å°å¯¼è´èå±çå ç§åå ï¼æ许è¿ä¼æå ¶ä»ä¸äºè«åå ¶å¦çé®é¢å¯¼è´è®¡ç®æºåºç°èå±ãä¸ç®¡ææ ·ï¼éå°è¿ç±»é®é¢åï¼åºå ä»ç»åæé®é¢åççåå ï¼ç¶ååçæ解å³ã
åã硬件å©ä½ç©ºé´å¤ªå°æç¢ç太å¤
ç±äºWin9Xè¿è¡æ¶éè¦ç¨ç¡¬çä½èæå åï¼è¿å°±è¦æ±ç¡¬çå¿ é¡»ä¿çä¸å®çèªç±ç©ºé´ä»¥ä¿è¯ç¨åºçæ£å¸¸è¿è¡ãä¸è¬èè¨ï¼æä½åºä¿è¯MB以ä¸ç空é´ï¼å¦ååºç°âèå±âå¾å¯è½ä¸ç¡¬çå©ä½ç©ºé´å¤ªå°æå ³ãå¦å¤ï¼ç¡¬ççç¢ç太å¤ï¼ä¹å®¹æ导è´âèå±âçåºç°ãå æ¤ï¼æ¯éä¸æ®µæ¶é´è¿è¡ä¸æ¬¡ç¢çæ´çæ¯å¿ è¦çã
äºãç³»ç»ç¡¬ä»¶å²çª
è¿ç§ç°è±¡å¯¼è´âèå±âä¹æ¯è¾å¸¸è§ãå®è·µä¸ç»å¸¸éå°çæ¯å£°å¡ææ¾ç¤ºå¡ç设置å²çªãå¨âæ§å¶é¢æ¿âââç³»ç»âââ设å¤ç®¡çâä¸æ£æ¥æ¯å¦åå¨å¸¦æé»è²é®å·ææå¹å·ç设å¤ï¼å¦åå¨å¯è¯çå å°å ¶å é¤ï¼å¹¶éæ°å¯å¨çµèï¼ç±Win9Xèªå¨è°æ´ï¼ä¸è¬å¯ä»¥è§£å³é®é¢ãè¥è¿ä¸è¡ï¼å¯æå·¥è¿è¡è°æ´æå级ç¸åºç驱å¨ç¨åºã
"èå±"ç软件åå å解å³
ä¸ç¡¬ä»¶å¯åèç³»çæ¯è½¯ä»¶ï¼ææ¶è½¯ä»¶å¨"èå±"ç°è±¡ä¸ä¹"åä¸å¯æ²¡"ï¼å è½½äºè¿å¤çç¨åºã注å表æé®é¢ã软硬ä¸å ¼å®¹ã驱å¨ç¨åºæé®é¢ï¼ç¸å¯¹äºç¡¬ä»¶åå æ¥è¯´è¦ä¸æå¯è§äºï¼å¯è¦å¤å 注æ.........
ä¸ãå¯å¨æ¶å è½½ç¨åºè¿å¤
ä¸è¦å¨å¯å¨æ¶å è½½è¿å¤çåºç¨ç¨åºï¼å°¤å ¶æ¯ä½ çå åå°äºMBï¼ï¼ä»¥å 使系ç»èµæºæ¶èæ®å°½ãæ£å¸¸æ åµä¸ï¼Win9Xå¯å¨åç³»ç»èµæºåºä¸ä½äº%ãæ好维æå¨%以ä¸ï¼è¥å¯å¨åæªè¿è¡ä»»ä½ç¨åºå°±ä½äº%ï¼å°±éè¦å¸æä¸é¨ååºç¨ç¨åºï¼å¦åå°±å¯è½åºç°âèå±âã
äºãåºç¨ç¨åºåå¨çBUG
æäºåºç¨ç¨åºè®¾è®¡ä¸åå¨ç缺é·æé误ï¼è¿è¡æ¶æå¯è½ä¸Win9Xåçå²çªæäºå¤ºèµæºï¼é æWin9Xæ æ³ä¸ºå ¶åé å åå°åæéå°å ¶ä¿æ¤æ§é误ãè¿ç§BUGå¯è½æ¯æ æ³é¢ç¥çï¼å 费软件æ为常è§ãå¦å¤ï¼ç±äºä¸äºç¨æ·è¿å¨ä½¿ç¨çç软件ï¼å æ¬ççWin9Xï¼ï¼è¿äºçç软件å¨è§£å¯è¿ç¨ä¸ä¼ç ´åå丢失é¨åæºä»£ç ï¼ä½¿è½¯ä»¶ååä¸ç¨³å®ï¼ä¸å¯é ï¼ä¹å¸¸å¸¸å¯¼è´âèå±âã
ä¸ãéå°ä¸æçç¨åºæç æ¯æ»å»æè³
è¿ä¸ªç°è±¡åªè¦æ¯å¹³æ¶æ们å¨ä¸ç½çæ¶åéå°çï¼å½æ们å¨å²æµªçæ¶åï¼ç¹å«æ¯è¿å°ä¸äºBBSç«æ¶ï¼å¯è½æ´é²äºèªå·±çIPï¼è¢«"é»å®¢"ç¨ä¸äºè½¯ä»¶æ»å»æè³ã对äºè¿ç§æ åµæ好就æ¯å¨èªå·±ç计ç®æºä¸å®è£ ä¸äºé²å¾¡è½¯ä»¶ãåæå°±æ¯ç»å½BBSè¦è¿è¡å®å ¨è®¾ç½®ï¼éèèªå·±IPã
åãçæ¬å²çª
æäºåºç¨ç¨åºéè°ç¨ç¹å®çæ¬çå¨æé¾æ¥åºDLLï¼å¦æå¨å®è£ 软件æ¶ï¼æ§çæ¬çDLLè¦çäºæ°çæ¬çDLLï¼æè å é¤åºç¨ç¨åºæ¶ï¼è¯¯å äºæç¨çDLLæ件ï¼å°±å¯è½ä½¿ä¸è¿°è°ç¨å¤±è´¥ï¼ä»èåºç°âèå±âãä¸å¦¨éæ°å®è£ è¯ä¸è¯ã
äºã注å表ä¸åå¨é误ææå
å¾å¤æ åµä¸è¿æ¯åºç°âèå±âç主è¦åå ã注å表ä¿åçWin9Xç硬件é ç½®ãåºç¨ç¨åºè®¾ç½®åç¨æ·èµæçéè¦æ°æ®ï¼å¦æ注å表åºç°é误æ被æåï¼å°±å¾å¯è½åºç°âèå±âãå¦æä½ ççµèç»å¸¸åºç°âèå±âï¼ä½ é¦å å°±åºèèæ¯æ³¨å表åºç°äºé®é¢ï¼åºåæ¶å¯¹å ¶æ£æµãä¿®å¤ï¼é¿å æ´å¤§çæ失ã
å ã软硬件ä¸å ¼å®¹
æ°ææ¯ãæ°ç¡¬ä»¶çåå±å¾å¿«ï¼å¦æå®è£ äºæ°ç硬件常常åºç°âèå±âï¼é£å¤åä¸ä¸»æ¿çBIOSæ驱å¨ç¨åºå¤ªæ§æå ³ï¼ä»¥è´ä¸è½å¾å¥½æ¯æ硬件ãå¦æä½ ç主æ¿æ¯æBIOSå级ï¼åºå°½å¿«å级å°ææ°çæ¬æå®è£ ææ°ç设å¤é©±å¨ç¨åºã
Windows "èå±"åæä¸è§£å³ç¯
Winä¹è®¸å¯ä»¥è¯´å¾ä¸æ¯ä¸ä¸ªåæ¶ä»£çæä½ç³»ç»ï¼ä½æ¯å®ä»ç¶ä¸è½å¤é¿å èå±æ»æºï¼Blue Screen of Deathï¼é®é¢ï¼Winç"èå±"(BSOD)åNT4以åç"èå±"æ¶æ¯æ¯å®å ¨ä¸åçãæ大çä¸åå°±æ¯NTä¸çBSODåªå å«ä¸ä¸ªéç¨çåæ¢æ¶æ¯ç±»å(å°±æ¯å®é çåºé代ç ), ä½æ¯WinçBSODå å«æ两ç§æ¶æ¯ç±»åï¼åæ¢æ¶æ¯å硬件æ¶æ¯ãåæ¢æ¶æ¯æ¯æï¼å½winçå æ ¸åç°ä¸ä¸ªå®ä¸è½å¤æ¢å¤ç软件é误æ¶å产ççé误æ¶æ¯ï¼å®å为ï¼å¸¸è§åæ¢æ¶æ¯ãå®è£ åæ¢æ¶æ¯ãå¯æ§è¡ç¨åºå®è£ åæ¢æ¶æ¯ã软件é·é±åæ¢æ¶æ¯åç§ç±»å......é对Windowsçèå±ï¼å¨ä¸è¿°æ¦æ¬çç°è±¡ä¸å¯¹çåºç¡ä¸ï¼æ们å两æ¹é¢æ¥åæï¼
Windows ä¸èå±æ»æºä¹åæ¢ä¿¡æ¯åæ
ç®ä»ï¼ä»ä¹æ¯èå±æ»æºï¼BSODï¼é®é¢ï¼
BSODå°±æ¯æ¾ç¤ºå¨èè²å±å¹èæ¯ä¸çåºéä¿¡æ¯ãä¸è¬è¿ç§åºéä¿¡æ¯ä¸¥éå°ä½ çæ´ä¸ªæä½ç³»ç»å½æºï¼ä½ åªæéæ°å·å¯å¨çéæ©ã
å¨æBSOD
BSODå¯ä»¥åæç¬ç«çå é¨åï¼æ¯é¨åå å«ææä»·å¼çé误å¤çä¿¡æ¯ãè¿å é¨åå æ¬ï¼
1ãbugæ£æ¥é¨åï¼è¿æ¯BSODä¸å å«å®é åºéæ¶æ¯çä½ç½®ãå¨è¿é¨åä¸ï¼ä½ åºè¯¥æ³¨æçæ¯åºé代ç ï¼å°±æ¯å¨åè¯âStopâåé¢çåå è¿å¶æ°åï¼åé误符å·ï¼å°±æ¯ç´§è·å¨åºé代ç åçåè¯ï¼
2ãæ¨èç¨æ·éåè¡å¨é¨åï¼è¿é¨åç»å¸¸å å«ä¸äºä¸è¬çæå¯¼ä½ å¦ä½çº æ£é误çæ¥éª¤çæ¶æ¯ã
3ãè°è¯ç«¯å£ä¿¡æ¯é¨åï¼è¿é¨åå å«æä½ åºè¯¥å¦ä½è®¾ç½®ä½ çå æ ¸è°è¯å¨çä¿¡æ¯ãå æ ¸è°è¯å¨æ¯è®©ä½ å¯ä»¥éè¿æå·¥è¿æ¥å°è®¡ç®æºå¹¶å¯¹è¿ç¨è¿è¡è°è¯çå·¥å ·ã
ä¸é¢æ¯ä¸ä¸ªå ·ä½çBSODä¾åï¼
*** Stop: 0xE (0xFAA, 0X, 0X)
KMODE_EXCEPTION_NOT_HANDLED
*** Address FAA base at fA, DateStamp ef8d - wdmaud.sys
If this is the first time you've seen this Stop error screen, restart your computer.
If this screen appears again, follow these steps:
Check to be sure you have adequate disk space. If a driver is identified in the
Stop message, disable the driver or check with the manufacturer for driver updates.
Try changing video adapters.
Check with your hardware vendor for any BIOS updates. Disable BIOS memory options
such as caching or shadowing. If you need to use Safe Mode to remove or disable
components, restart your computer, press F8 to select Advanced Startup Options,
and then select Safe Mode.
Refer to your Getting Started manual for more information on troubleshooting Stop errors.
Kernel Debugger Using: COM2 (Port 0x2f8, Baud Rate )
Beginning dump of physical memory
Physical memory dump complete. Contact your system administrator or technical support group.
æ ¹æ®è¿ä¸ªå ·ä½çä¾åï¼æç §ä¸é¢å¨æçBSODå个é¨åï¼ä¸é¢ä¸ä¸ä»ç»ï¼
bugæ£æ¥é¨åï¼
è¿æ¯BSODä¸å å«å®é åºéæ¶æ¯çä½ç½®ãå®çä¸å»å°±æ¯ä¸é¢ç代ç ï¼
*** Stop: 0xE (0xFAA, 0X, 0X)
KMODE_EXCEPTION_NOT_HANDLED *** Address FAA base at fA, DateStamp ef8d - wdmaud.sys
å ¶ä¸é误代ç æ¯ä¸ä¸ªç´§è·å¨Stopåé¢çåå è¿å¶æ°ï¼å¨è¿éé¢å®ç±å ¶å®å个æ°åç»æã
èé误符å·æ¯æç´§éå ¶åçKMODE_EXCEPTION_NOT_HANDLED.
å¨ä¸äºBSODåºéä¿¡æ¯ä¸ï¼ä¸ä¸ªå åä½ç½®åæ件ååºç°å¨é误符å·çåé¢ãè¿ä¸ªä¿¡æ¯åè¯äºå½é误åççæ¶åå¨å åä¸çä½ç½®ååªä¸ªæ件导è´äºé误çåçãå½ç¶ä½ æ¯å¦è½å¤çå°è¯¥ä¿¡æ¯æ¯ç±åªç§åæ¢æ¶æ¯ç±»åæ¥å³å®çãå¨ä¸äºå®é è¿ç¨ä¸ï¼ä½ åªè½å¤çå°ä¸é¢ç第ä¸è¡ãèè¿éé常æ¯è¡¨ç¤ºç±æ¾ç¤ºæå¡ä¸å¯¼è´çé®é¢ã æ¨èç¨æ·éåè¡å¨é¨åï¼
å¨ä¸é¢çä¾åä¸æ¨èç¨æ·éåè¡å¨é¨åå¦ä¸ï¼
If this is the first time you've seen this Stop error screen, restart your computer. If this screen appears again, follow these steps:
Check to be sure you have adequate disk space. If a driver is identified in the Stop message, disable the driver or check with the manufacturer for driver updates. Try changing video adapters.
Check with your hardware vendor for any BIOS updates. Disable BIOS memory options such as caching or shadowing. If you need to use Safe Mode to remove or disable components, restart your computer, press F8 to select Advanced Startup Options, and then select Safe Mode.
Refer to your Getting Started manual for more information on troubleshooting Stop errors.
æ¨èç¨æ·éåè¡å¨é¨åé常æ¯æ¨èç¨æ·å¨éå°äºåºéä¿¡æ¯ååºè¯¥éåç解å³æ¥éª¤ãå¨æ¶æ¯ä¸å¯ä»¥çå°ï¼è§£å³ä¸ä¸ªBSODä¹è®¸åªè¦éæ°å¯å¨æåæ´çåºè¶³å¤å¤§çå©ä½ç©ºé´å°±è½å¤è§£å³äºã尽管è¿æ ·çæ¹æ³å¶å°ä¼èµ·å°ä½ç¨ï¼ä½æ¯å®é ä¸è¦è§£å³BSODç»å¸¸è¦è¿è¿å¤æå¾å¤ã
è°è¯ç«¯å£ä¿¡æ¯é¨åï¼
è¿é¨åå å«æä½ åºè¯¥å¦ä½è®¾ç½®ä½ çå æ ¸è°è¯å¨çä¿¡æ¯ãæä¼å¨ä»¥åçç½ç«éé¢è¯¦ç»ä»ç»ä»ä¹æ¯çå æ ¸è°è¯å¨ãå¨ä¸é¢çä¾åä¸ï¼è¿é¨åå 容æ¯ï¼
Kernel Debugger Using: COM2 (Port 0x2f8, Baud Rate )
Beginning dump of physical memory Physical memory dump complete. Contact your system administrator or technical support group.
åæ¢ä¿¡æ¯çåç§ç±»å
å½ç¨åºæå驱å¨ç¨åºåçäºä¸ä¸ªä¸è½å¤æ§å¶çé误æ¶æ¯æåè¯å¾æ§è¡ä¸ä¸ªéæ³æ令æ¶ï¼ç³»ç»å°±ä¼åçåæ¢åºéä¿¡æ¯ãèè¿ç§ä¿¡æ¯é常ç±åç§ç±»åç»æã
1ã常è§åæ¢æ¶æ¯ï¼å¨æ£å¸¸ç使ç¨winæ¶åççåæ¢æ¶æ¯
常è§åæ¢æ¶æ¯é常æ¯æé¾è§£å³çåºéä¿¡æ¯ï¼å 为æå¯è½ææ æ°çåå è½å¤å¯¼è´é误çåçã
2ãå®è£ åæ¢æ¶æ¯ï¼å¨å®è£ winè¿ç¨ä¸çåæ¢æ¶æ¯ï¼é常ç±ä½ çç³»ç»ä¸åå¨åä¸å ¼å®¹ç硬件设å¤å¼èµ·çã
解å³åæ³æ¯ä½ æ¥çç³»ç»ä¸ç硬件设å¤ï¼æ¾å°æ²¡æååºå¨å ¼å®¹å表ä¸ç设å¤ãç¶ååä½ ç硬件设å¤ååèç³»çä»ä»¬æ¯å¦è½å¤ç»ä½ æä¾è¯¥è®¾å¤ç驱å¨ç¨åºãå¦æä»ä»¬ä¸è½ï¼é£ä½ åªå¥½ä»ä½ çç³»ç»ä¸å é¤è¯¥è®¾å¤ï¼å¹¶ç¨å ¶å®çå¯ä»¥å ¼å®¹ç设å¤æ¿æ¢æã
å¦æä½ çææ硬件é½æ¯å ¼å®¹çï¼ä½ ä¹è®¸æ¯åå¨æ两个äºç¸å²çªç硬件设å¤ãè¦è§£å³è¿ä¸ªé®é¢ï¼å 移走任ä½ä¸æ¯å¿ è¦ç硬件设å¤ï¼ç¶åéæ°è£ è½½ï¼ä¸æ¦è£ è½½æååï¼æææ移走ç设å¤å ¨é¨éæ°å å ¥å°ç³»ç»ä¸ãè¿æ ·åï¼é常è½å¤è§£å³è¿ä¸ªé®é¢ï¼è³å°è½å¤åè¯ä½ åªäºç¡¬ä»¶æ¯æå²çªçã
3ãå¯æ§è¡ç¨åºå®è£ åæ¢æ¶æ¯ï¼è¡¨ç¤ºåçå¨å®è£ è¿ç¨ä¸ç¬¬4个é¶æ®µï¼æ§è¡ç¨åºé¨åï¼çåæ¢æ¶æ¯ã
å®è£ å¨å¯æ§è¡ç¨åºçå®è£ è¿ç¨ä¸æ两个é¶æ®µã第ä¸ä¸ªé¶æ®µæ¯ç¦æ¢ç¡¬ä»¶ä¸æåæ¶è£ è½½ä¸äºåºæ¬çç»ä»¶ï¼ä¾å¦ç¡¬ä»¶æåå±ã第äºä¸ªé¶æ®µæ¯åå§åä½ ç³»ç»ä¸ææç硬件ãå¦æä½ å¨å®è£ ç¨åºå°äºè¿ä¸ªé¶æ®µçæ¶åæ¶å°äºåæ¢æ¶æ¯é误ãéè¦å次è¿è¡è¯æç¨åºï¼æ¥å¤æä½ ç硬件æ¯å¦é½å·¥ä½æ£å¸¸ãç¶åéæ°å®è£ ãå¦æä½ ä»ç¶éå°è¿ä¸ªåºéæ¶æ¯ï¼é£ä¹å°±éè¦å微软ææ¯æ¯æé¨æ交éäºã
4ã软件é·é±åæ¢æ¶æ¯ï¼ç±äºè½¯ä»¶ä¸çé误é·é±å¹¶ä¸å½ç¨åºè¯å¾æ§è¡ä¸ä¸ªéæ³æ令çæ¶ååççåæ¢æ¶æ¯ã
ç±äºè½¯ä»¶ä¸çé误é·é±å¹¶ä¸å½ç¨åºè¯å¾æ§è¡ä¸ä¸ªéæ³æ令çæ¶ååççåæ¢æ¶æ¯ãä¾å¦ï¼ç¨åºè¯å¾åä¸ä¸ªæ¬æ¥æ¯ä¿åæ°åçåéåå符串çæ¶åï¼è¿ä¸ªé误就æå¯è½åçãå¦æä½ éå°äºè¿ç§ç±»åçé误ï¼éè¦è®°ä¸åºéä¿¡æ¯ï¼æ¯ä»ä¹è½¯ä»¶å¯¼è´äºé误ï¼ä¸è¬è¿äºè½¯ä»¶é½ææ°ççæ¬æ¥çº æ£è¿äºé误çã
å½ä½ éå°äºåæ¢æ¶æ¯æ¶åå¯è½éè¦ç解å³é®é¢çæ¥éª¤ï¼
é¦å å¤æä½ æè¿æ¯ä¸æ¯å¨ç³»ç»ä¸æä»»ä½çåå¨ãå¦æä½ æï¼é£ä¹è¿äºåå¨ç»å¸¸æ¯é®é¢äº§ççæ ¹æºãè¯å¾å é¤æè 移走æ°ç硬件æ软件ï¼çæ¯å¦è½å¤è§£å³é®é¢ãæ£æ¥ç³»ç»ä¸ç硬件ï¼æ好å¦ææ硬件æ£æµç¨åºçè¯ï¼å¯ä»¥è¿è¡è¯¥ç¨åºè¿è¡æ£æµï¼åæ¶éæ°ææ¾ä½ çå åå¡åæ©å±å¡ã
å¦æä½ çåæ¢ä¿¡æ¯æ¯åçå¨å¯å¨ä¸æåå¯å¨çè¿ç¨ä¸ï¼é£ä¹è¿æå¯è½æ¯ä½ çæ个æå¡æå设å¤é©±å¨ç¨åºä¸çé®é¢ãå¯ä»¥å°è¯å°æºå¨å¯å¨å°å®å ¨æ¨¡å¼ãå¦æä½ çç³»ç»è½å¤å¯å¨æåå®å ¨æ¨¡å¼ï¼é£ä¹è¡¨ç¤ºä½ ççæµæ¯æ£ç¡®çã
åæ¶è¦ç¡®ä¿ä½ çé²ç æ¯ç¨åºæ¯è®¾è®¡æåwinå ¼å®¹çï¼å¹¶ä¸éæ¶ä¿ææ´æ°ãå¦æé误ä»ç¶åçï¼é£ä¹è¿å ¥ä½ çCMOS设置ï¼ç¦æ¢æBIOSä¸ç象ç¼åæåshadowä¹ç±»çé项ï¼ç¶åéæ°å¯å¨ã
Windows èå±æ»æºä¹STOP对"ç"ä¸è¯
ä»ç论ä¸è®²ï¼çº¯ä½çWindows æ¯ä¸ä¼åºç°æ»æºçï¼ä½æ¯è¿ä» ä» æ¯ç论ä¸ãç æ¯æ硬件å硬件驱å¨ç¨åºä¸å¹é çåå å°é æWindowsçå´©æºï¼å½Windows åºç°æ»æºæ¶ï¼æ¾ç¤ºå¨å±å¹å°å为èè²ï¼ç¶ååºç°STOPæ éæ示信æ¯ãä¸é¢æ们åå«ä»ç»éç¨çSTOPæ éå¤çæ¹æ³åç¹æ®çSTOPæ éæé¤ã
éç¨STOPæ éå¤ç
1.é¦å 使ç¨æ°çææ¯è½¯ä»¶æ£æ¥è®¡ç®æºä¸æ¯å¦æç æ¯ã
2.å¦æWindows å¯ä»¥å¯å¨ï¼è¯·æ£æ¥âäºä»¶æ¥çå¨âä¸çä¿¡æ¯ï¼ä»¥ç¡®å®å¯¼è´æ éç设å¤æ驱å¨ç¨åºãå¯å¨âäºä»¶æ¥çå¨âçæ¹æ³æ¯ï¼âå¼å§â\â设置â\âæ§å¶é¢æ¿â\â管çå·¥å ·â\âäºä»¶æ¥çå¨â\âç³»ç»æ¥å¿âã
3.å¦æä¸è½å¯å¨è®¡ç®æºï¼è¯çç¨âå®å ¨æ¨¡å¼âæâæåä¸æ¬¡æ£ç¡®çé ç½®âå¯å¨è®¡ç®æºï¼ç¶åå é¤æç¦ç¨æ°å®è£ çéå ç¨åºæ驱å¨ç¨åºãå¦æç¨âå®å ¨æ¨¡å¼âå¯å¨ä¸äºè®¡ç®æºï¼å¯ä½¿ç¨ä¿®å¤æ§å¶å°ãä¿®å¤æ§å¶å°å¯ä»¥ç¦ç¨ä¸äºæå¡ãéæ°å½å设å¤é©±å¨ç¨åºãæ£ä¿®å¼å¯¼æåºæ主å¼å¯¼è®°å½ã
4.æä¸æ°å®è£ ç硬件设å¤ï¼RAMãéé å¡ã硬çãè°å¶è§£è°å¨ççï¼ã
5.ç¡®ä¿å·²ç»æ´æ°äºç¡¬ä»¶è®¾å¤ç驱å¨ç¨åºï¼ä»¥åç³»ç»æææ°çBIOSã
6.è¿è¡ç±è®¡ç®æºå¶é åæä¾çç³»ç»è¯æå·¥å ·ï¼å°¤å ¶æ¯å åæ£æ¥ã
7.æ£æ¥Microsoftå ¼å®¹ç¡¬ä»¶å表ï¼HCLï¼ï¼ç¡®ä¿ææç硬件å驱å¨ç¨åºé½ä¸Windowså ¼å®¹ãHcl.txtå¨Windows CD-ROMç\Supportæ件夹ä¸ã
8.å¨BIOSä¸ç¦ç¨å åç¼ååè½ã
9.éæ°å¯å¨è®¡ç®æºï¼å¨å¯å¨å±å¹å¤ï¼æF8è¿å ¥âé«çº§å¯å¨é项âï¼ç¶åéæ©âæåä¸æ¬¡æ£ç¡®çé ç½®âã(注:使ç¨âæåä¸æ¬¡æ£ç¡®çé ç½®âçæ¹å¼å¯å¨è®¡ç®æºï¼è®¡ç®æºçææ设置被é置为æåä¸æ¬¡æåå¯å¨æ¶çé ç½®ã)
.å¦æè½å¤è®¿é®Webï¼è¯·è¿å ¥/ntserver/ï¼åå»âSupportâ/âSearch Knowledge Baseâï¼å¨âType your keywords hereâå¤ï¼è¾å ¥âstopâåç¸åºçå·ç ï¼å¦åºç°STOPæ¶æ¯âstop:0xAâï¼å¯å¨æ¤è¾å ¥âstop0xAâï¼ï¼æEnteré®ï¼å°±å¯ä»¥æ¾åºæåºç°çSTOPé®é¢ç解å³æ¹æ³ãï¼Eæï¼
é¨åSTOP代ç
STOPæ¶æ¯ 0xAæ é(åå å ¥æ°è®¾å¤æ¶)
é常åå 驱å¨ç¨åºä½¿ç¨äºä¸æ£å¸¸çå åå°åã
1.å¨å®è£ è¿ç¨ä¸ï¼å±å¹ä¸æ示âå®è£ ç¨åºæ£å¨æ£æ¥è®¡ç®æºç¡¬ä»¶é ç½®âæ¶ï¼æF5,æ ¹æ®æ示éæ©åéç计ç®æºç±»åãä¾å¦ï¼å¦æ计ç®æºæ¯åå¤çå¨ï¼è¯·éæ©âæ åPCâã
2.å¨BIOSä¸ç¦ç¨å åç¼ååè½ã
3.æä¸ææéé å¡ï¼å¹¶æå¼ææä¸æ¯å¯å¨è®¡ç®æºæå¿ éç硬件设å¤ï¼åéæ°å®è£ Windowsã
4.å¦æç³»ç»é æSCSIéé å¡ï¼è¯·åéé å¡éå®åç´¢åææ°çWindows驱å¨ç¨åºï¼ç¦ç¨åæ¥åååè½ï¼æ£æ¥ç»ç»å¤´å设å¤çSCSI IDå·ã
5.å¦æç³»ç»é æIDE设å¤ï¼è®¾IDE端å£ä¸ºPrimaryãæ£æ¥IDE设å¤çMaster/Slave/Only设置ãé¤äºç¡¬çï¼æä¸å ¶å®ææçIDE设å¤ã
6.è¿è¡ç±è®¡ç®æºå¶é åæä¾çç³»ç»è¯æå·¥å ·ï¼å°¤å ¶æ¯å åæ£æ¥ã
7.æ£æ¥Microsoftå ¼å®¹ç¡¬ä»¶å表ï¼HCLï¼ï¼ç¡®ä¿ææç硬件å驱å¨ç¨åºé½ä¸Windowså ¼å®¹ã
8.éæ°å¯å¨è®¡ç®æºãå¨å¯å¨å±å¹å¤ï¼æF8è¿å ¥âé«çº§å¯å¨é项âï¼ç¶åéæ©âæåä¸æ¬¡æ£ç¡®çé ç½®âã
STOPæ¶æ¯ 0xEæ é
1.æ£æ¥æ¯å¦æå åçç£ç空é´ï¼å°¤å ¶æ¯æ°å®è£ ã
2.ç¦ç¨STOPæ¶æ¯ä¸æ¾ç¤ºç驱å¨ç¨åºåæææ°å®è£ ç驱å¨ç¨åºã
3.å¦ææ使ç¨çè§é¢é©±å¨ç¨åºä¸æ¯Microsoftæä¾çï¼è¯çåæ¢å°æ åVGA驱å¨ç¨åºæè ç±Winæ¯æçåéç驱å¨ç¨åºã
4.ç¡®ä¿ç³»ç»æææ°çBIOSã
5.éæ°å¯å¨è®¡ç®æºãå¨å¯å¨å±å¹å¤ï¼æF8è¿å ¥âé«çº§å¯å¨é项âï¼ç¶åéæ©âæåä¸æ¬¡æ£ç¡®çé ç½®âã
STOPæ¶æ¯ 0xå0xæ é
é常åå 严éç驱å¨å¨ç¢çãè¶ è½½çæ件I/Oã第ä¸æ¹ç驱å¨å¨éå软件æè ä¸äºé²ç æ¯è½¯ä»¶åºéã
1.ç¦ç¨ä¸äºé²ç æ¯è½¯ä»¶æè å¤ä»½ç¨åºï¼ç¦ç¨ææç¢çæ´çåºç¨ç¨åºã
2.è¿è¡CHKDSK /f æ£ä¿®ç¡¬ç驱å¨å¨ï¼ç¶åéæ°å¯å¨è®¡ç®æºã
3.éæ°å¯å¨è®¡ç®æºãå¨å¯å¨å±å¹å¤ï¼æF8è¿å ¥âé«çº§å¯å¨é项âï¼ç¶åéæ©âæåä¸æ¬¡æ£ç¡®çé ç½®âã
STOPæ¶æ¯ 0xEæ é
é常åå ç³»ç»å åä¸çå¥å¶æ ¡éªé误ã
1.è¿è¡ç±è®¡ç®æºå¶é åæä¾çç³»ç»è¯æå·¥å ·ï¼å°¤å ¶æ¯å åæ£æ¥ã
2.å¨BIOSä¸ç¦ç¨å åç¼ååè½ã
3.è¯çç¨âå®å ¨æ¨¡å¼âå¯å¨ãå¦æâå®å ¨æ¨¡å¼âå¯å¯å¨è®¡ç®æºï¼è¯çæ´æ¹ä¸ºæ åVGA驱å¨ç¨åºãå¦æè¿ä¸è½è§£å³é®é¢ï¼å¯è½é¡»è¦ç¨å¦å¤çè§é¢éé å¡ãâå ¼å®¹ç¡¬ä»¶å表âä¸ååºäºå ¼å®¹çè§é¢éé å¡ã
4.ç¡®ä¿å·²ç»æ´æ°äºç¡¬ä»¶è®¾å¤ç驱å¨ç¨åºï¼ä»¥åç³»ç»æææ°çBIOSã
5.æä¸ä¸äºæ°å®è£ ç硬件ï¼RAMãéé å¨ã硬çãè°å¶è§£è°å¨ççï¼ã
6.éæ°å¯å¨è®¡ç®æºãå¨å¯å¨å±å¹å¤ï¼æF8è¿å ¥âé«çº§å¯å¨é项âï¼ç¶åéæ©âæåä¸æ¬¡æ£ç¡®çé ç½®âã
STOPæ¶æ¯ 0xFæ é
é常åå 驱å¨ç¨åºæ²¡æ被å®å ¨æ¸ é¤ã
å é¤ä¸äºæ°å®è£ ç软件ï¼å æ¬å¤ä»½å·¥å ·æç£çå·¥å ·ï¼ä¾å¦ç¢çæ´çåé²ç æ¯è½¯ä»¶ã
STOPæ¶æ¯ 0xæ é
é常åå å¨å®¹ééç主驱å¨å¨ä¸åçé误ã
1.ç¨Windows å¼å¯¼è½¯çï¼ä»éåï¼ç¬¬äºä¸ªï¼ç³»ç»é©±å¨å¨å¯å¨è®¡ç®æºã
2.éæ°å¯å¨è®¡ç®æºãå¨å¯å¨å±å¹å¤ï¼æF8è¿å ¥âé«çº§å¯å¨é项âï¼ç¶åéæ©âæåä¸æ¬¡æ£ç¡®çé ç½®âã
STOPæ¶æ¯ 0xBæ é
é常åå å¨I/Oç³»ç»çåå§åè¿ç¨ä¸åºç°é®é¢ï¼é常æ¯å¼å¯¼é©±å¨å¨ææ件系ç»ï¼ã
1.æ£æ¥è®¡ç®æºä¸æ¯å¦æç æ¯ãè¿ä¸ªSTOPæ¶æ¯é常å¨å¼å¯¼æåºæç æ¯æ¶åºç°ã
2.使ç¨âä¿®å¤æ§å¶å°âæ¥ä¿®å¤é©±å¨å¨ã
3.æä¸æ°å®è£ ç硬ç驱å¨å¨ææ§å¶å¡ã
4.å¦æç³»ç»é æSCSIéé å¡ï¼è¯·åéé å¡éå®åç´¢åææ°çWindows驱å¨ç¨åºï¼ç¦ç¨åæ¥åååè½ï¼æ£æ¥ç»ç»å¤´å设å¤çSCSI IDå·ã
5.å¦æç³»ç»é æIDE设å¤ï¼è®¾IDE端å£ä¸ºPrimaryãæ£æ¥IDE设å¤çMaster/Slave/Only设置ãé¤äºç¡¬çï¼æä¸å ¶å®ææçIDE设å¤ã
6.è¿è¡CHKDSKãå¦æWindows ä¸è½å¯å¨CHKDSKï¼åå¿ é¡»æ硬çæä¸å¹¶è¿æ¥å°å¦ä¸ä¸ªWindowsç³»ç»ä¸ï¼ç¶åç¨CHKDSKå½ä»¤æ£æ¥è¯¥ç¡¬çã
7.éæ°å¯å¨è®¡ç®æºãå¨å¯å¨å±å¹å¤ï¼æF8è¿å ¥âé«çº§å¯å¨é项âï¼ç¶åéæ©âæåä¸æ¬¡æ£ç¡®çé ç½®âã
STOPæ¶æ¯ 0xFæ é
é常åå 硬件æ软件é®é¢;常è§çåå æ¯ç¡¬ä»¶å¤±æã
1.è¿è¡ç±è®¡ç®æºå¶é åæä¾çç³»ç»è¯æå·¥å ·ï¼å°¤å ¶æ¯å åæ£æ¥ãè¿ä¸ªSTOPæ¶æ¯ç»å¸¸åºç°å¨é误æ误é å åçæ åµä¸ã
2.å¨BIOSä¸ç¦ç¨å åç¼ååè½ã
3.è¯çæä¸ææ¿æ¢ç¡¬ä»¶:RAMãæ§å¶å¨ãéé å¨ãè°å¶è§£è°å¨åå ¶å®å¤å´è®¾å¤ã
4.æ£æ¥Microsoftå ¼å®¹ç¡¬ä»¶å表ï¼HCLï¼ï¼ç¡®ä¿ææç硬件å驱å¨ç¨åºé½ä¸Windowså ¼å®¹ãè¿ä¸ªé®é¢å¯è½æ¯ç±äºä¸å ¼å®¹ç主æ¿å¼èµ·çã
5.éæ°å¯å¨è®¡ç®æºãå¨å¯å¨å±å¹å¤ï¼æF8è¿å ¥âé«çº§å¯å¨é项âï¼ç¶åéæ©âæåä¸æ¬¡æ£ç¡®çé ç½®âã
解å³èå±ä¹å·¥å ·ç¯:
"两ææï¼ä¸¤æé½è¦ç¡¬"ï¼é对 "èå±"ç°è±¡é¤äºå¨ç¡¬ä»¶æ¹é¢æ¹åä½ çç³»ç»ç¡¬ä»¶ç¯å¢å¤ï¼"软ç¯å¢"ç建设ä¹ä¸å¯å¿½è§ï¼å°±æ们æç¥éçä¸äºå·¥å ·ä»ç»ç»ä½ ï¼å½ç¶ï¼å¯è½è¿ææ´å¤çå¥½å·¥å ·ï¼ä¸å¦¨å¹³æ¶å¤çæï¼
RAM Idle--让èå±æ¶å¤±
ä¸ç®¡æ¯æ¾ç»è¿å»çDOSæ¶ä»£ï¼è¿æ¯å¦æ¥ä¸å¤©çWindowsæ¶ä»£ï¼ä½ä¸ºç³»ç»èµæºä¸æéè¦çä¸é¡¹ââå åèµæºï¼ä¸ç´é½æ¯çµèç±å¥½è 们æ为头ç¼çäºæ ãè½ç¶ç°å¨ä¸»æ¿ä¸çå åæ槽è¶æ¥è¶å¤ï¼å åçä»·é±ä¹è¶æ¥è¶ä½ï¼ä½æ 论ææ ·ï¼è¿æ¯æå¾å¤æåçå åèµæºæ¶å¸¸ä¸å¤ç¨ï¼ä»¥è³äºç³»ç»æ§è½æ æ³æ£å¸¸åæ¥ãç©¶å ¶åå ï¼ä¸»è¦æ¯ç±äºWindowsæä½ç³»ç»ä¸è½ææå°å¯¹å åèµæºè¿è¡ç®¡çï¼å¯¼è´å¤§éå åèµæºè¢«ç½ç½å ç¨ï¼ä»è使系ç»æ§è½å¤§å¹ 度éä½ï¼é æç¨åºéæ»ãç³»ç»æèµ·çç¦äººçé®é¢ãå æ¤ï¼ä¸å°ä¸é¨ç¨æ¥å¯¹å åèµæºè¿è¡ç®¡ççå·¥å ·è½¯ä»¶ä¹å°±åºè¿èçï¼èä»å¤©è¦ä»ç»çRAM Idleåæ¯è¿ç±»è½¯ä»¶ä¸ç佼佼è ã
ä¸ãå®è£
é¦å ç¨Winzipç软件å°ä¸è½½å¾å°çå缩å 解åï¼ç¶åç¹å»Setup.exeæ件ï¼å¨å¼¹åºç对è¯æ¡ä¸éæ©ãæ¯ãå³å¯å¼å§å®è£ RAM Idleï¼å¦å¾1ï¼ãå大å¤æ°Windowsåºç¨ç¨åºä¸æ ·ï¼RAM Idleçå®è£ è¿ç¨å¾ç®åï¼åªéè¦ä¸è·¯ç¹å»ãNextãå³å¯å®æã
äºã 使ç¨
RAM Idleç主è¦åè½æ¯å¨ç³»ç»ç©ºé²çæ¶åæç §ç¨æ·è®¾ç½®èªå¨éæ¾åæ¶ä¸å®æ°éçå åï¼ä»èé¿å å Windowsç³»ç»ä¸è¶³èé æçå åèµæºæ¯ç«é®é¢ï¼å¹¶å¤§å¹ æé«ç³»ç»æ§è½ä¸ç¨³å®æ§ã
ä¿è¯è¯´ï¼å·¥æ¬²åå ¶äºï¼å¿ å å©å ¶å¨ï¼ä½¿ç¨RAM Idleä¹æ¯ä¸æ ·ï¼åªæ设置åçï¼å®æè½æ´å¥½ç对å åèµæºè¿è¡ç®¡çãä¸é¢å°±è¯·å¤§å®¶ç¹å»ãå¼å§ãï¼ãç¨åºãï¼ãRAM Idleãï¼ãConfigurationãæå¼RAM Idle设置çé¢ï¼å¦å¾2ï¼åæä¸èµ·è®¤è¯ä¸RAM Idleç设置é项
1. ãMainãé项å¡ï¼ä¸ºè½¯ä»¶ç主è¦è®¾ç½®é¨åï¼å æ¬ä»¥ä¸å 个å 容ï¼
·Target Free RAMï¼è®¾ç½®å°è¾¾æå°å©ä½å åæ¶ï¼RAM Idleæè¦å°è¯æ¢å¤çå åæ°éã
·Minimum Free RAMï¼è®¾ç½®æå°å©ä½å åæ°éï¼å½è¾¾å°è¿ä¸ªæ°å¼çæ¶åï¼RAM Idleå°ä¼èªå¨æ¢å¤å åèµæºã
·Disable the CPU usage detectionï¼éä¸æ¤é¡¹åï¼RAM Idleæ¢å¤å åçæ¶åå°ä¸åæ£æµCPUå ç¨çï¼ä¸è¿åªæ¯å¨ä½ çCPUå ç¨çæ»æ¯æ¾ç¤ºï¼ çæ¶åæéè¦éä¸ãä¸è¬æ åµä¸æ们ä¸ç¨éä¸è¯¥é¡¹ï¼ãRecover RAM if onlyâ¦â¦ãä¸å¯ä»¥è®¾ç½®æ¢å¤å åæ¶çæé«CPUå ç¨çï¼ä¹å°±æ¯è¯´åªæCPUå ç¨çä½äºè®¾å®æ°å¼æ¶ï¼RAM Idleæå¯ä»¥æ¢å¤å åï¼å¦åï¼ä¸äºæ¢å¤ã
·Free upâ¦â¦if free RAM below %ï¼è®¾ç½®å©ä½å åå°äºæ»å å%çæ¶åï¼æ¯éå¤å°æ¶é´æ¢å¤å¤å°æ°éçå åã
·Pop up menu freeâ¦â¦ï¼è®¾ç½®å¼¹åºèåä¸æå¨æ¢å¤å åé¨åçä¸ä¸ªæ¢å¤æ°å¼ã
2. ãOptionsãé项å¡ï¼ä¸»è¦å æ¬æ»å¨æåé¢ãéWindowså¯å¨èå¯å¨ãéèç³»ç»æçå¾æ çä¸äºå¸¸è§è®¾ç½®ã
3. ãGatorãé项å¡ï¼ä¸ä¸ªå¡«è¡¨è½¯ä»¶çç®è¦ä»ç»åä¸è½½é¾æ¥ã
4. ãAboutãé项å¡ï¼æ¾ç¤ºå½åç³»ç»çå åèµæºä¿¡æ¯ï¼å¦å¾3ï¼
RAM Idleéæ¾å åå ±æ两ç§æ¹æ³ï¼ä¸ç§æ¯å½å©ä½å åå°äºæ»å å%çæ¶åï¼æç §è®¾ç½®æ¯éä¸æ®µæ¶é´èªå¨éæ¾ä¸å®æ°éçå åï¼è®¾ç½®æ¹æ³è§ä¸ï¼ï¼ä¸ç§æ¯å¨ç³»ç»æççRAM Idleå¾æ ä¸ç¹å»é¼ æ å³é®ï¼ä½¿ç¨å¼¹åºèåï¼å¦å¾4ï¼ä¸çä¸ä¸ªé项快éæå¨éæ¾ä¸å®æ°éçå åï¼è®¾ç½®æ¹æ³è§ä¸ï¼ã
ä¸ã å°ç»
ä¸å类软件ç¸æ¯ï¼RAM Idleåºæ¬ç»¼åäºè¯¥ç±»è½¯ä»¶çææç²¾åï¼å ·ææ å¯æ¯æç强大å å管çè½åãé¦å RAM Idleå¯ä»¥èªå¨éæ¾å åèµæºï¼å¹¶ä¸ä¼åæ¶é´å¿«ï¼æçé«ãå ¶æ¬¡RAM Idle设置æ¹ä¾¿ï¼åè½é½å¤ï¼å¹¶ä¸å ç¨ç³»ç»èµæºå°ï¼å¯å¨ç³»ç»è¾ä¸ºç©ºé²çæ¶åè¿è¡ãå¦å¤ï¼è¯¥è½¯ä»¶è¿å ·æå¤ç§æ¹ä¾¿ä¸å®ç¨çå°åè½ï¼å¦éæ°å¯å¨ï¼å ³æºï¼æèµ·çã
è½ç¶MemMAXãFREERAMãRAMFIXç软件ä¹åæç¹è²ï¼ä½ç±äºè¿æ ·æè é£æ ·ç缺ç¹ï¼æ¯å¦ä¸è½èªå¨ä¼åãå ç¨ç³»ç»èµæºå¤ªé«ãä¼åæçä½ä¸ã使ç¨ç¹ççï¼ä½¿å¾å®ä»¬å¾é¾è¶ è¶RAM Idleã
å¦æä½ æ£å¨ä¸ºä½ çå åèµæºç管çèåæçè¯ï¼é£ä¹æå»ºè®®ä½ ä¸å®è¦è¯è¯RAM Idleï¼ä»¥å®çå®åç¸ä¿¡ä¸å®ä¸ä¼è®©ä½ 失æï¼
æèµ¢ä¸åºèå±æ¼çæ
èå±å°åºæ¯æä¹äº§ççå¢ï¼æ们å¯ä»¥ä»è½¯ã硬两æ¹é¢æ¥è§£éèå±ç°è±¡äº§ççåå ãä»ç¡¬ä»¶æ¹é¢æ¥è¯´ï¼è¶ é¢è¿åº¦æ¯å¯¼è´èå±çä¸ä¸ªä¸»
å¦ä½ä½¿ç¨oprofile对软件åprofiling
ããä¸. Oprofileç®ä»
ãã
ããProfilingæ¯å¯¹ä¸åæ§è½ç¹å¾çæ°æ®çå½¢å¼åæ»ç»æåæï¼å®é常以å¾å½¢å表çå½¢å¼åºç°ãå®æä¾ä¸ºç¹å®çå¤çå¨äºä»¶æ¶éçéæ ·ç¾åæ°ææ°éï¼æ¯å¦cache miss rateãTLB miss rateççãä¸è¬æ¥è¯´ï¼ä¸»è¦ç®çæ¯ä¸ºäºæ¾åºè½¯ä»¶ä¸çæ§è½ç¶é¢ï¼ç¶åæé对æ§çä¼å以æå软件çæ´ä½æ§è½ã
ãã
ããOprofile æ¯ç¨äº Linux çè¥å¹²ç§è¯æµåæ§è½çæ§å·¥å ·ä¸çä¸ç§ãå®å¯ä»¥å·¥ä½å¨ä¸åçä½ç³»ç»æä¸ï¼å æ¬ARM, PowerPC, MIPS, IA, IA å AMD Athlonççãå®çå¼éå¾å°ï¼ä»Linux 2.6 çèµ·ï¼å®è¢«å å«è¿äºLinuxå æ ¸ä¸ã
ãã
ããOprofileå¯ä»¥æ¶éæå ³å¤çå¨äºä»¶çä¿¡æ¯ï¼å¸®å©ç¨æ·è¯å«è¯¸å¦å¾ªç¯çå±å¼ãcacheç使ç¨çä½ãä½æçç±»å转æ¢ååä½æä½ãé误é¢æµè½¬ç§»çé®é¢ãOprofileæ¯ä¸ç§ç»ç²åº¦çå·¥å ·ï¼å¯ä»¥ä¸ºæ令éæè 为å½æ°ãç³»ç»è°ç¨æä¸æå¤çä¾ç¨æ¶ééæ ·ãOprofile éè¿åæ ·æ¥å·¥ä½ã使ç¨æ¶éå°çè¯æµæ°æ®ï¼ç¨æ·å¯ä»¥å¾å®¹æå°æ¾åºæ§è½é®é¢ã
ãã
ããéè¿çå¯CPUçhardware eventsï¼oprofileå¯ä»¥å¨è¿è¡ç¶æä¸å¯¹æ´ä¸ªLinuxç³»ç»è¿è¡profilingãProfilingç对象å¯ä»¥æ¯Linux kernel (å æ¬modulesåinterrupt handlers), shared librariesæè åºç¨ç¨åºã
ãã
ããä»0.9.8çæ¬å¼å§ï¼oprofileæ¯æPerf_events profiling mode模å¼ãåºç¨ç¨åºoperf被ç¨æ¥æ§å¶profilingè¿ç¨ï¼èå¨legacy modeä¸ï¼æ¯éè¿opcontrolèæ¬åoprofiled daemonæ¥å®æçãOperfä¸å象legacy modeé£æ ·éè¦OProfile kernel driverï¼å®ç´æ¥åLinux Kernel Performance Events Subsystemæ交éã使ç¨operfï¼å°±å¯ä»¥ç¨æ®éç¨æ·ç身份æ¥profilingç¨æ·çåºç¨ç¨åºäºï¼å½ç¶å¦æéè¦å¯¹æ´ä¸ªç³»ç»æ¥profilingçæ¶åè¿æ¯éè¦rootæéçã
ãã
ããå¦æ硬件ä¸æ¯æOProfile使ç¨performance countersï¼OProfileå°±åªè½å·¥ä½å¨Timer Modeä¸äºãTimer Modeåªè½å¨legacy profiling modeä¸ä½¿ç¨ï¼å³åªè½éè¿opcontrolèæ¬æ¥æ§å¶ã
ããOprofileçä¼å¿ï¼
ã㟠æ¯è¾ä½çè¿è¡å¼é
ã㟠对被profilingç对象影åå¾å°
ã㟠å¯ä»¥profilingä¸ææå¡ç¨åº(interrupt handlers)
ã㟠å¯ä»¥profilingåºç¨ç¨åºåshared libraries
ã㟠å¯ä»¥profiling dynamically compiled (JIT) code
ã㟠å¯ä»¥å¯¹æ´ä¸ªç³»ç»åprofiling
ã㟠å¯ä»¥è§å¯CPUå é¨çç»èï¼ä¾å¦cache miss rate
ã㟠å¯ä»¥å¤æºä»£ç åannotation
ã㟠å¯ä»¥æ¯æinstruction-levelçprofiling
ã㟠å¯ä»¥çæcall-graph profiles
ãã
ããä¸è¿OProfileä¹ä¸æ¯ä¸è½çï¼å®ä¹æèªå·±çå±éæ§ï¼
ã㟠åªè½å¨x, ARM, åPowerPCæ¶æä¸çæcall graph profiles
ã㟠ä¸æ¯æ%精确çinstruction-level profiling
ã㟠对dynamically compiled (JIT) code profilingçæ¯æè¿ä¸å®åã
ãã
ããæ 论å¦ä½ï¼Oprofileçåè½é½æ¯gprofè¦å¼ºå¾å¤ï¼ä»£ä»·æ¯é 置起æ¥ä¼æ¯è¾éº»ç¦ã
ãã
ãã
ããäº. ç¼è¯Oprofile
ãã
ããé¦å æ好å¨Linux kerneléé¢éä¸Oprofile driverï¼ä»¥è·å¾å ¨é¢çæ¯æã
ãã
ã
ããå 为ç¬è 使ç¨çæ¯Xilinx Linux pre-built .7ï¼æ以è¿éä¸è½½çæ¯linux-xlnx-xilinx-v.7.tar.gz
ãã
ãã解å缩åï¼ç¨ä»¥ä¸å½ä»¤è°åºLinux kernelçé ç½®çé¢ï¼
ããexport ARCH=arm
ããexport CROSS_COMPILE=arm-xilinx-linux-gnueabi-
ããmake xilinx_zynq_defconfig
ããmake xconfig æè make menuconfig
ãã
ããå¨é ç½®çé¢ä¸å°ä»¥ä¸ä¸¤é¡¹å¾ä¸ï¼
ããGeneral setup --->
ãã[*] Profiling support
ãã<*> OProfile system profiling
ãã
ããç¶åmake uImageå³å¯çææ°çuImageï¼ç¨æ¥æ¿æ¢Xilinx Linux pre-built .7ä¸çLinux kernel imageãåæ¶æ们ä¹éè¦vmlinuxæ¥æ£æ¥profilingçç»æã
ãã
ãã
ããOprofileéè¦popt, bfd, libertyåºï¼è¦å¨åµå ¥å¼åæ¿ä¸ä½¿ç¨è¿äºåºï¼éè¦æå·¥å®æ交åç¼è¯ã
ãã
ããé对popt 1.7ï¼ç¨ä»¥ä¸å½ä»¤å®æç¼è¯ï¼
ãã./configure --prefix=/home/wave/xilinx/oprofileprj/rootfs --host=arm-xilinx-linux-gnueabi --with-kernel-support --disable-nls && make && make install
ãã
ããé对binutils 2.ï¼ç¨ä»¥ä¸å½ä»¤å®æç¼è¯ï¼
ãã./configure --host=arm-xilinx-linux-gnueabi --prefix=/home/wave/xilinx/oprofileprj/rootfs --enable-install-libbfd --enable-install-libiberty --enable-shared && make && make install
ããä¸è¿--enable-install-libiberty没æææï¼æ以éè¦æå·¥ælibiberty.aålibiberty.hæ·è´å°ç¸åºçä½ç½®ã
ãã
ããé对oprofile 0.9.9ï¼ç¨ä»¥ä¸å½ä»¤å®æç¼è¯ï¼
ãã./configure --host=arm-xilinx-linux-gnueabi --prefix=/home/wave/xilinx/oprofileprj/rootfs --with-kernel-support --with-binutils=/home/wave/xilinx/oprofileprj/rootfs && make && make install
ããé ç½®è¿ç¨ç»æåå¯è½ä¼æ以ä¸æ示ï¼å 为没ææç®ç¨GUIåprofile JITed codeï¼æ以ç´æ¥å¿½è§ä¹ã
ããconfig.status: executing libtool commands
ããWarning: QT version 3 was requested but not found. No GUI will be built.
ããWarning: The user account 'oprofile:oprofile' does not exist on the system.
ããTo profile JITed code, this special user account must exist.
ããPlease ask your system administrator to add the following user and group:
ããuser name : 'oprofile'
ããgroup name: 'oprofile'
ããThe 'oprofile' group must be the default group for the 'oprofile' user.
ãã
ããå°ç¼è¯å®æçuImageï¼vmlinuxï¼oprofile binaryï¼éæ°ç¼è¯ç没æ-pgçlibjpeg binary以åtool chainçlibcæå æ¾å°SDå¡ä¸ï¼åå¤å¨ZCå¼åæ¿ä¸å°è¯profile djpegã
ãã
ããä¸. è¿è¡Oprofile
ãã
ããæ£å¸¸å¯å¨åµå ¥å¼Linuxåï¼å¨å¼åæ¿çconsoleä¸ä¸æ¬¡è¾å ¥ä»¥ä¸å½ä»¤ï¼
ãã
ããmount /dev/mmcblk0p1 /mnt
ãã
ããmkdir -p /home/root/work
ããcd /home/root/work
ããtar zxvf /mnt/jpeg-bin-nopg.tar.gz
ããcd jpeg-bin/bin
ããcp /mnt/park-x.jpg .
ããexport LD_LIBRARY_PATH=/home/root/work/jpeg-bin/lib
ãã
ããcd /home/root/work
ããtar zxvf /mnt/rootfs.tar.gz
ããcd rootfs
ããchown root:root -R
*ããcp -R bin/* /usr/bin
ããcp -R lib/* /lib
ããcp /bin/which /usr/bin
ããcp /bin/dirname /usr/bin
ããmkdir -p /home/wave/xilinx/oprofileprj/rootfs/share
ããcp -R ./rootfs/* /home/wave/xilinx/oprofileprj/rootfs
ãã
ããcd /home/root/work
ããtar zxvf /mnt/libc.tar.gz
ããcp ./lib/libstdc*.* /lib
ãã
ããmkdir -p /home/wave/xilinx/libjpeg
ããcd /home/wave/xilinx/libjpeg
ããtar zxvf /mnt/jpeg-9.tar.gz
ãã
ããcp /mnt/vmlinux /home/root/work
ãã
ããcd /home/root/work/jpeg-bin/bin
ãã
ããopcontrol --init
ããopcontrol --vmlinux=/home/root/work/vmlinux
ããopcontrol --setup --event=CPU_CYCLES:::0:1 --session-dir=/home/root/
ãã
ããoperf --vmlinux /home/root/work/vmlinux ./djpeg -bmp park-x.jpg > result.bmp
ããopreport -l ./djpeg
ãã
ããå®æè¿ä¸æ¥åï¼æ们就å¯ä»¥çå°profilingçç»æäºï¼å¨ç¬è çå¹³å°ä¸çå°çå 容ç主è¦é¨åå¦ä¸ï¼
ããroot@zynq:~/work/jpeg-bin/bin# opreport -l ./djpeg
ããUsing /home/root/work/jpeg-bin/bin/oprofile_data/samples/ for samples directory.
ããCPU: ARM Cortex-A9, speed MHz (estimated)
ããCounted CPU_CYCLES events (CPU cycle) with a unit mask of 0x (No unit mask) count
ããsamples % image name symbol name
ãã . libc-2..so /lib/libc-2..so
ãã