1.电脑蓝屏代码分析,高手帮忙

2.服务器老是出现停止错误,然后意外关闭,请问各位大侠怎么解决

3.开机蓝屏

电脑蓝屏代码分析,高手帮忙

电脑系统pE盘旁边出现EFl-pe系统efi盘不出现

先在安全模式(重启,启动时连按F8键,选择“安全模式”)下时,观察蓝屏是否出现.如果未出现蓝屏,就可以推断原因为驱动软件过期,三方程序干扰.

此时,请您到电脑制造商网站上下载最近的BIOS, 声卡或显卡驱动来解决问题.

如果问题不解决,有可能是软件冲突导致蓝屏。可用‘干净启动’来排错,找出问题软件,再考虑解决方法。

2.若蓝屏仍旧在安全模式下出现, 问题就可能是由于硬件不稳定导致的。以下是一些硬件蓝屏的排错常规步骤,你可以尝试一下:

1.如果最近有更换硬件,请您将新硬件更换回之前的硬件或是其他新硬件

2.如果您有多根内存条,请您只保留一根,将其余的拔除

3.确认接线等是否疏松,机箱内的灰尘是否过多,进行固定和清理

4.更换其他的电源。

5.引起的,建议您可以使用腾讯电脑管家杀毒软件,全面的查杀,彻底的清理干净。

服务器老是出现停止错误,然后意外关闭,请问各位大侠怎么解决

可能的原因:

一、内存错误

二、某个定时的服务引起死锁

三、残留或者黑客攻击

四、诺顿的文件检查功能

检查及处理过程:

一、由于这是第一次出现类似重启,先不考虑硬件故障。 但内存错误仍有另外一个可能性就是对磁盘上的虚拟内存访问出错。先检查虚拟内存所在磁盘,未发现错误。但磁盘中有比较多的文件碎片,考虑到内存文件过于分散有可能会引起偶尔的读错误。所以在凌晨1时左右进行一次全盘的文件碎片整理。

二、根据原因代码,网络上有关于定时服务引起文件死锁的记录,而查询登录日志,离重启最近的访问来自于另一台服务器B,加上出现故障时间与整点比较接近,有可能与某些系统服务有关,所以,将B中的DNS、DHCP等服务关闭,因为这些服务会与故障服务器通讯同步,或者进行某种查询。更进一步地,将服务器和B服务器上的文件跨网络定时复制备份等功能删除。

三、从微软的网站找到有关也会引发类似故障的说明(相关网址),按说明查询后排除可能性,然后,再检查可疑的设备驱动,也未发现任何可疑之处。另外,通过查询防火墙日志,在19:03前也未发现有异常的攻击。

四、通过网络上上报的事故报告(相关网址)中提到Symantec的版本有关,在Symantec的技术支持网站看到相类似的报告。考虑到离最近的故障时间登录者是B服务器,而我们的B服务器上恰恰安装了Symantec的10.0版,怀疑与故障服务器上的9.0版在升级库时产生了冲突,所以将B上的Symantec杀毒软件删除,然后安装了一个客户端,由故障服务器统一管理。

进一步分析

用WinDbg对系统崩溃时的内存Dump文件分析,发现系统重启时的直接引发文件为RapDrv.sys。

这个文件为BlackICE的系统文件,它包括了监视应用程序的变化的相关模块,可参见BlackICE的在线说明

检查RapDrv.sys,文件没有被改变的迹象,可排除被黑客和修改文件的可能性。

对Dump文件进行调试,找到RapDrv.sys出错时的堆栈情况,具体内容如下:

EXCEPTION_CODE: (NTSTATUS) 0xc0000005 - "0x%08lx" "0x%08lx" "%s"

FAULTING_IP:

RapDrv+85

f535e785 894104 mov dword ptr [ecx+4],eax

TRAP_FRAME: f4c0bb54 -- (.trap fffffffff4c0bb54)

ErrCode = 00000002

eax=858b8b4c ebx=00000000 ecx=00000000 edx=00000000 esi=858b5000 edi=84e2660c

eip=f535e785 esp=f4c0bbc8 ebp=f4c0bbdc iopl=0 nv up ei pl zr na pe nc

cs=0008 ss=0010 ds=0023 es=0023 fs=0030 gs=0000 efl=0006

RapDrv+0x85:

f535e785 894104 mov dword ptr [ecx+4],eax ds:0023:00000004=

Resetting default scope

DEFAULT_BUCKET_ID: DRIVER_FAULT

BUGCHECK_STR: 0x8E

PROCESS_NAME: blackice.exe

CURRENT_IRQL: 0

LAST_CONTROL_TRANER: from 8085b4b3 to 8087b6be

STACK_TEXT:

f4c0b720 8085b4b3 0000008e c0000005 f535e785 nt!KeBugCheckEx+0x1b

f4c0bae4 808357a4 f4c0bb00 00000000 f4c0bb54 nt!KiDispatchException+0x3a2

f4c0bb4c 80835758 f4c0bbdc f535e785 badb0d00 nt!CommonDispatchException+0x4a

f4c0bb6c f5355b93 850ab630 84e2660c 858b5001 nt!Kei386EoiHelper+0x186

WARNING: Stack unwind information not ailable. Following frames may be wrong.

f4c0bbdc f535aa20 858900 84e2660c 00000028 RapDrv+0xb93

f4c0bc08 f535b282 00222034 84e26608 00000058 RapDrv+0x5a20

f4c0bc28 f535b2f3 865b5ba0 00000058 86043a70 RapDrv+0x6282

f4c0bc4c 8092d3b9 84ad79d8 858e9028 84ad7968 RapDrv+0x62f3

f4c0bc60 8092e81b 865b5ba0 84ad7968 858e9028 nt!IopSynchronousServiceTail+0x10b

f4c0bd00 80940844 00000160 00000000 00000000 nt!IopXxxControlFile+0x5db

f4c0bd34 80834d3f 00000160 00000000 00000000 nt!NtDeviceIoControlFile+0x2a

f4c0bd34 7c95ed54 00000160 00000000 00000000 nt!KiFastCallEntry+0xfc

0012d688 00000000 00000000 00000000 00000000 0x7c95ed54

STACK_COMMAND: kb

FOLLOWUP_IP:

RapDrv+85

f535e785 894104 mov dword ptr [ecx+4],eax

SYMBOL_STACK_INDEX: 0

FOLLOWUP_NAME: MachineOwner

MODULE_NAME: RapDrv

IME_NAME: RapDrv.sys

DEBUG_FLR_IME_TIMESTAMP: 3f99bc4f

SYMBOL_NAME: RapDrv+85

FAILURE_BUCKET_ID: 0x8E_RapDrv+85

BUCKET_ID: 0x8E_RapDrv+85

Followup: MachineOwner

从上面可以看出,在系统崩溃时,RapDrv正试图作一个IO操作,在IopSynchronousServiceTail调用时出错。在网上查寻相关资料,发现DapDrv有一个系统漏洞(相关资料),这个漏洞目前并没有相关补丁和解决方案,好在它发生的条件比较苛刻,如果是攻击,必须是已经攻入系统,在试图修改应用程序时才会触发。也就是说,如果想用这个漏洞进行攻击,对方必须是已经攻入系统才能利用这个漏洞。

综合上述,原来推测的四个可能性,只有最后一个Symantec的版本问题最有可能,因为其它的文件传输,只要不修改服务器上的可执行程序,是不会引发错误的。而Symantec在B服务器上安装的也是服务器版,它的升级过程中,可能会试图替换故障服务器上Symantec的上的9.0版程序。这才会触发RapDrv对文件进行监控。

目前最终处理方案是:

考虑到这种事故发生时造成的影响较小,在基本排除硬件故障后,决定暂时只处理Symantec的版本问题,然后继续观察服务器的状态,如果不再发生类似,则不予理会。如果再一次发生类似情况,就将BlackICE中的文件保护功能关闭,这样可以一劳永逸地解决这类事故。

开机蓝屏

可能是硬件不兼容,用PCMark、3DMark之类的东西检测一下看看,要不找维修电脑的地方让他们帮你看看

Windows XP 0x0000007E未知原因蓝屏的处理

新的兼容机做系统,用以前精心做好的XP系统克隆,死活蓝屏。 今天想修复安装一下,结果还是不行。出错 STOP 0x0000007E 没有指出详细模块,但安全模式能进。

排除了内存原因,基本就是驱动问题。 于是卸载驱动,停服务,删文件,看日志...均告败。

从下午折腾到晚上。

换了1台机子、查资料最后找windbg ,升级 ,找symbols,找com对接线 最后终于搞定。

闹了半天是处理器驱动搞怪!ft 一直以为是主板或者显卡驱动问题...

----------

蓝屏的原因基本介绍我就不说了,下面总结一下这次蓝屏情况的处理:

微软对0x0000007E解释的原因有这几种:

如果在 Windows 安装过程中第一次重新启动后或在安装完成后出现此问题,则可能是计算机没有足够的硬盘空间来运行 Windows。

如果在 Windows 安装过程中第一次重新启动后或在安装完成后出现此问题,可能是计算机的 BIOS 与 Windows 不兼容。

适配器驱动程序不兼容。

RAM 已损坏。

设备驱动程序或系统服务损坏。

如果问题与 Win32k.sys 文件相关联,则此问题可能是由第三方远程控制程序导致的。

1 首先 排除硬件原因: 换内存,不超频,如果有一样的机子可以换着试一下...

2 排除显卡问题: 由于这个是集成显卡,新装的XP是可以用的,所以只能怀疑驱动。 进安全模式卸载显卡驱动,甚至删除以前的显卡驱动程序文件

3 排除主板驱动问题: 进安全模式,卸载所有系统相关的驱动...

4 关闭系统服务: 可以在安全模式下面使用msconfig关闭,或者在系统恢复控制台中使用listsvc和disable来关闭服务

5 均不凑效的情况下,只能做系统调试试试了。

总结Windbg确定蓝屏原因的步骤:

准备: Windbg,Symbols File,Com对接线。

蓝屏情况一般使用Windbg来调试,Windbg是Debuging Tools for Windows ,微软出的调试工具。

Windbg可从://.microsoft/whdc/DevTools/Debugging/default.mspx 下载。目前最新版本是6.5.003.7

调试需要使用对应Windows的符号文件,这个也在上面地址下载。一百多兆,要有点耐心。

Windbg类似于SoftICE非常强大,但这次我们使用的非常简单。

由于蓝屏机器无响应,我们只能通过另外一台计算机进行调试。

准备一根Com对接线,就是两个头都是母头的RS232线,用来连接两台计算机的Com口。 如果找不到,可以使用两个DB9-RJ45的转换头,中间使用双绞线全反连接(就是1-8对应对面的8-1)。这个做网络的用的比较多。

第一步:东西准备好后,在正常的计算机上安装 Windbg,Windows XP SP2(和蓝屏机器系统对应)的符号文件(Symbols),注意要在windbg中File菜单下面配置Symbols Path,要到具体pdb文件目录,比如“C:\XPSymbols\sys;C:\XPSymbols\dll;”要把常用的文件dll,sys,exe等都加上去。然后使用Com对接线将两台计算机的Com1口连接起来。

第二步: 修改蓝屏机子的启动文件boot.ini, 在启动参数中加入 /debug /debugport=com1 /baudrate=115200

比如: multi(0)disk(0)rdisk(0)partition(1)\WINDOWS="Windows XP Professional " /fastdetect /NoExecute=OptIn /debug /debugport=com1 /baudrate=115200

第三步: 在调试机上命令提示符下进入Windbg安装目录,键入 “windbg -k comort=com1,baud=115200 ”,启动Windbg。 或者建立快捷方式将后面的参数带进去。

正常情况下蓝屏机器开始启动Windows后Windbg就会有显示。

Windbg很聪明,一启动,就直接告诉你机器出现系统Exception(信息当时没有拷贝),symbols配好了以后, 起来就提示“Probably caused by : intelppm.sys ( intelppm!ReadMSR+c )”

闹了半天是处理器驱动搞怪!

第四步: 进一步使用 analyze –v来分析。 这是分析蓝屏最直接的命令。

analyze -v 结果

[code:4096fdb5c0]kd> !analyze -v

*******************************************************************************

* *

* Bugcheck Analysis *

* *

*******************************************************************************

SYSTEM_THREAD_EXCEPTION_NOT_HANDLED (7e)

This is a very common bugcheck. Usually the exception address pinpoints

the driver/function that caused the problem. Always note this address

as well as the link date of the driver/image that contains this address.

Arguments:

Arg1: c0000005, The exception code that was not handled

Arg2: fac41750, The address that the exception occurred at

Arg3: fafb4430, Exception Record Address

Arg4: fafb412c, Context Record Address

FAULTING_MODULE: 804d8000 nt

DEBUG_FLR_IME_TIMESTAMP: 41107b37

EXCEPTION_CODE: (NTSTATUS) 0xc0000005 - "0x%08lx"

FAULTING_IP:

intelppm!ReadMSR+c

fac41750 0f32 rdmsr

EXCEPTION_RECORD: fafb4430 -- (.exr fffffffffafb4430)

ExceptionAddress: fac41750 (intelppm!ReadMSR+0x0000000c)

ExceptionCode: c0000005 (Access violation)

ExceptionFlags: 00000000

NumberParameters: 0

CONTEXT: fafb412c -- (.cxr fffffffffafb412c)

eax=00000f00 ebx=00000000 ecx=0000002c edx=00000000 esi=00000000 edi=00000001

eip=fac41750 esp=fafb44f8 ebp=fafb4500 iopl=0 nv up ei pl zr na po nc

cs=0008 ss=0010 ds=0023 es=0023 fs=0030 gs=0000 efl=0006

intelppm!ReadMSR+0xc:

fac41750 0f32 rdmsr

Resetting default scope

DEFAULT_BUCKET_ID: DRIVER_FAULT

BUGCHECK_STR: 0x7E

LAST_CONTROL_TRANER: from fac413f6 to fac41750

STACK_TEXT:

fafb4500 fac413f6 0000002c 00000f00 00000f00 intelppm!ReadMSR+0xc

fafb4514 fac41469 00020fc2 078bfbff fafb4570 intelppm!IsP4ProcSpeedStepCapable+0xe

fafb4524 fac414a1 fac43db1 fac43c94 00000001 intelppm!IsProcPStateCapable+0x41

fafb4528 fac43db1 fac43c94 00000001 fac46b1c intelppm!ValidateProcessorCapabilities+0x5

fafb4534 fac46b1c fac439e0 ffbc5820 e195b382 intelppm!InitializeDriver+0x2b

fafb4570 80576548 ffbc5820 fec73000 e18e2a80 intelppm!DriverEntry+0x18c

WARNING: Stack unwind information not ailable. Following frames may be wrong.

fafb4640 806870 00000ae0 00000001 00000000 nt!NtWriteFile+0x44a8

fafb469c 80686ad9 00043000 00000000 00000000 nt!IoReportHalResourceUsage+0x172a

fafb483c 80684edd 80084000 00000000 8130cb28 nt!NlsOemLeadByteInfo+0x15c5d

fafb4dac 805c5a06 80084000 00000000 00000000 nt!NlsOemLeadByteInfo+0x14061

fafb4ddc 80541fa2 80684528 80084000 00000000 nt!PsRemoveCreateThreadNotifyRoutine+0x21e

00000000 00000000 00000000 00000000 00000000 nt!KiDispatchInterrupt+0x5a2

FOLLOWUP_IP:

intelppm!ReadMSR+c

fac41750 0f32 rdmsr

SYMBOL_STACK_INDEX: 0

FOLLOWUP_NAME: MachineOwner

SYMBOL_NAME: intelppm!ReadMSR+c

MODULE_NAME: intelppm

IME_NAME: intelppm.sys

STACK_COMMAND: .cxr fffffffffafb412c ; kb

BUCKET_ID: WRONG_SYMBOLS

Followup: MachineOwner[/code:4096fdb5c0]

我们可以通过当前异常所在的模块看到是哪个驱动引起的异常。Stack可以看出来调用情况。 这里面可以清楚地看出来是ReadMSR指令引起的异常,是Intelppm.sys文件。 查这个文件的属性,知道这是Intel处理器的驱动。 兼容机是Sempron的CPU,当然不支持MSR的指令了! 折腾了半天居然是这个低级错误…

第五步:修复起来就出奇地简单了,把Intelppm.sys改名或者删除都可以。重起,一切正常!

总结

Windows蓝屏目前出的不多了,但是个别时候碰见也的确是非常让人心烦。确定蓝屏的原因对于解决非常重要。 在不能简单确定原因的情况下,就需要用到系统调试功能了。这个工作使用Windbg最合适不过了。

上面说了一下未知异常0x0000007E蓝屏的处理以及Windbg来确定原因的步骤,希望对大家有所启发.

URL:

s://.d4e.org/showthread.php?t=80799