|
|
发表于 2006-8-2 22:31:42
|
显示全部楼层
|
首先说一下迅雷的问题,迅雷的速度是不容质疑的,否则也不会有盗取连接的嫌疑,但是迅雷因此需要占用大量内存,第一许新版迅雷需要对用户的文件在雷区中进行查询,这样无形增加了网络的负担,再有,迅雷经常发布一些最近电影的下载信息,这个也是影响启动速度的原因。官方的解释是:为了更为稳定的运行所以迅雷会用一段的时间加载各个应用程序,所以就好像启动漫一样的,和开车的道理是一样子的。这一点只能靠提高主存的容量解决。
- l7 o$ ]9 u* q3 `8 c第二个问题是:蓝屏的问题是windows处理错误的一个重要手段,主要是对操作系统的管理级进行保护,一般蓝屏都有相应的蓝屏代码,这个需要你仔细看一些,然后记下来,查询相关的网站才能具体的解决:这里先只提供蓝屏错误信息,具体的希望你能够在观察后铁出来:WINDOWS 蓝屏错误代码说明一览表 7 q0 _5 d- y! f9 u+ C
" P3 n% Z3 k( ]0 d/ g4 Z y数 值 叙 述 ; F2 x8 {1 V- t$ U. }) l
0 0x0000作业完成。 , c! N) b+ E5 Y' W' Q
1 0x0001不正确的函数。
4 b5 ~% y% _# }' L1 F% D& M0 z2 Y2 0x0002系统找不到指定的档案。 4 R3 X, s. D3 a/ M! e3 [# E; `' h
3 0x0003系统找不到指定的路径。
$ ]9 l- U3 p6 ~" x& p' f/ y2 S4 0x0004系统无法开启档案。 # d; j. m. x) [
5 0x0005拒绝存取。 % l) G, P) O$ B6 Z% y* @
6 0x0006无效的代码。
' X/ m1 C6 T/ m- Z0 W$ M5 A0 E7 0x0007储存体控制区块已毁。
8 j/ N1 N b$ u- U! ~, l, y8 0x0008储存体空间不足,无法处理这个指令。 4 e% p% D7 n0 r' u6 g0 D
9 0x0009储存体控制区块位址无效。 . b$ t$ O D# ]% E
10 0x000A环境不正确。 " [5 Z% H: a# [8 q' _7 j
11 0x000B尝试载入一个格式错误的程式。 ( S/ Q5 M4 Y' d2 p8 [6 n
12 0x000C存取码错误。 & m, X1 A- q) a' l
13 0x000D资料错误。 ' y* i0 O0 {- \+ C8 ?
14 0x000E储存体空间不够,无法完成这项作业。
; D# g& t+ ^0 Y: Z! `15 0x000F系统找不到指定的磁碟机。 . _) D, Y& M5 A7 g
16 0x0010无法移除目录。
& p" l. P }" e: o. i7 S0 P17 0x0011系统无法将档案移到 其他的磁碟机。 & a# @. P6 r" x
18 0x0012没有任何档案。 " t4 [! T3 E1 h. Y9 r, \! |. @
19 0x0013储存媒体为防写状态。 4 G! W$ `3 D$ V+ W3 X8 x- F( q( `7 ^9 I
20 0x0014系统找不到指定的装置。
: s$ ^ [6 T1 Y" B% l$ Z6 v21 0x0015装置尚未就绪。 7 \. B$ d% {) u' v
22 0x0016装置无法识别指令。
+ z4 G. N- w @ ^7 c23 0x0017资料错误 (cyclic redundancy check) * l( K( R8 j6 C( g9 T- w7 `- L
24 0x0018程式发出一个长 度错误的指令。
`0 G6 b7 r6 m25 0x0019磁碟机在磁碟找不到 持定的磁区或磁轨。
/ @6 r# K/ q! ~; {1 Y1 S% Q26 0x001A指定的磁碟或磁片无法存取。
. y% e9 D6 R1 p+ c! _27 0x001B磁碟机找不到要求的磁区。
; e1 g2 w, o- m& ]5 X28 0x001C印表机没有纸。
! g! @3 a% B( I* u& K29 0x001D系统无法将资料写入指定的磁碟机。 $ ~" [% ^8 ]5 X2 F* ?
30 0x001E系统无法读取指定的装置。
; J8 ?1 X5 |1 J$ ^31 0x001F连接到系统的某个装置没有作用。
; m6 z# j( M$ q9 j- s32 0x0020 The process cannot access the file because it is being used * S: [2 e% ^2 q
by another process.
. e+ _5 N! g" [# c+ z33 0x0021档案的一部份被锁定,现在无法存取。
f5 \: s8 O1 ^34 0x0022磁碟机的磁片不正确。 请将 %2 (Volume Serial Number: %3) 插入磁 " C4 |2 F" L8 e% a3 b' u8 V: Q
碟 机%1。
2 ~' S- e! w1 Q36 0x0024开启的分享档案数量太多。
+ u q6 o! @ _38 0x0026到达档案结尾。 9 }: ?0 t/ |% G! O0 [: _
39 0x0027磁碟已满。
" z9 R: O) K* z; ^& V) G50 0x0032不支援这种网路要求。
+ t1 n- ?1 h4 P ]1 d( u51 0x0033远端电脑无法使用。
# t4 t8 N5 U A2 p( S; l Q1 V52 0x0034网路名称重复。
5 X3 @$ j8 X `5 Y2 W. m53 0x0035网路路径找不到。
9 x% M+ } L* _! T0 {/ N" e$ I54 0x0036网路忙碌中。 5 r( C4 @& v: L/ g, O1 I) @
55 0x0037 The specified network resource or device is no longer / u( X% j9 B6 ~8 g4 [* k
available.
6 L, Q8 p! v" [( q" y56 0x0038 The network BIOS command limit has been reached.
3 {3 V& t% q3 W" J1 ]5 X: r3 j$ n7 j57 0x0039网路配接卡发生问题。 + \7 Q6 K. A* ]! S
58 0x003A指定的伺服器无法执行要求的作业。 1 w& U6 Y$ Q- O; P; b( a( S
59 0x003B网路发生意外错误。 # }$ {& l" \+ V% P$ T1 j' t. @
60 0x003C远端配接卡不相容。
$ O. x X% a. z3 ~6 c( p+ G61 0x003D印表机伫列已满。 / o7 \' y# j9 L% O) q; p* W2 D2 f' o; S
62 0x003E伺服器的空间无法储存等候列印的档案。 , \8 `& }* J# u: H% M" K
63 0x003F等候列印的档案已经删除。 % J/ T) Y8 V$ @6 m; {, y8 T) l
64 0x0040指定的网路名称无法使用。
+ C5 [* H: s9 S) _% S65 0x0041拒绝存取网路。 : g0 }& N6 {3 s) ^* B
66 0x0042网路资源类型错误。 8 y- i0 f3 z5 f2 T8 f- w4 Z t
67 0x0043网路名称找不到。 / l8 u3 _( a+ Q( F6 ]
68 0x0044超过区域电脑网路配接卡的名称限制。
& f+ D1 \' y6 f3 ?- @69 0x0045超过网路BIOS作业阶段的限制。
0 K; S0 b0 Z; c8 A* E& c/ \, y5 Y70 0x0046远端伺服器已经暂停或者正在起始中。 ! ]! ^4 V! o/ G; }8 ?$ ]) h
71 0x0047由於连线数目已达上限,此时无法再连线到这台远端电脑。 , U9 a( L w+ M# X
72 0x0048指定的印表机或磁碟装置已经暂停作用。
! E* G z1 R) W( f3 ^80 0x0050档案已经存在。 ( M, ?% T3 d" T1 U% t
82 0x0052无法建立目录或档案。
0 l( Z B& v. L% O5 y3 @83 0x0053 INT 24 失败
+ z. d% s: R1 P" b84 0x0054处理这项要求的储存体无法使用。
% P8 h/ ~) n, R9 t4 v5 k85 0x0055近端装置名称已经在使用中。
/ Q' y5 H8 J' v: C2 M- T86 0x0056指定的网路密码错误。 0 W. [! m! y/ o& N1 ~: E
87 0x0057叁数错误。
6 O! s$ a0 {7 d; L; b88 0x0058网路发生资料写入错误。
% x* ]! P- }2 M3 c5 |- ?* h89 0x0059此时系统无法执行其他行程。
! d8 V9 S [6 X; e100 0x0064无法建立其他的系统semaphore。
, \/ ^ Q$ q! Q( A101 0x0065属於其他行程专用的semaphore 。 2 d$ C8 Y" W+ L5 p( k3 |* f4 |
102 0x0066 semaphore已经设定,而且无法关闭。
( ^7 L& `) d- ^9 ^! I1 A8 N* r103 0x0067无法指定semaphore 。 " w& l0 K* ~% A, A2 l4 H
104 0x0068在岔断时间无法要求专用的semaphore 。
! v1 ?3 d$ x! E% \' Z, I105 0x0069此semaphore先前的拥有权已经结束。
4 L( n; p& z) q, P( Y106 0x006A请将磁片插入 %1。 9 G, `5 @, s8 w% I; c9 f
107 0x006B因为代用的磁片尚未插入,所以程式已经停止。 2 C% W2 x6 }6 n9 _
108 0x006C磁碟正在使用中或被锁定。
# P6 @ u" }4 Z! X109 0x006D Pipe已经中止。
7 j" d) V3 P0 t110 0x006E系统无法开启指定的 装置或档案。 ; P+ C# E6 t5 Z: ] d; [. _
111 0x006F档名太长。
4 }* B( p1 }, y- V" G; j( k$ u8 [112 0x0070磁碟空间不足。 4 G' ?/ @8 D4 X- j* e0 R
113 0x0071没有可用的内部档案识别字。 . A# ^3 f: z' D6 q8 d
114 0x0072目标内部档案识别字不正确。
6 i* \' O8 Q9 o6 p' k5 O117 0x0075由应用程式所执行的IOCTL呼叫 不正确。
5 M9 @) E; ]' p0 \0 i T118 0x0076写入验证叁数值不正确。 : M$ \5 _5 U' h* q
119 0x0077系统不支援所要求的指令。
! r D8 p7 N. O; k$ ?, J" h# F120 0x0078此项功能仅在Win32模式有效。 + C! M2 H/ b! g3 ? [9 h$ t
121 0x0079 semaphore超过逾时期间。
. N& |4 K' O# [4 R p122 0x007A传到系统呼叫的资料区域 太小。
* Z1 }% {( v P' J; V" u123 0x007B档名、目录名称或储存体标签语法错误。 9 W9 @' h- n1 Y. ^1 m
124 0x007C系统呼叫层次不正确。
+ Q4 ?% s+ }8 C, A4 B125 0x007D磁碟没有设定标签。 - L" |9 ?5 j* @% e9 v
126 0x007E找不到指定的模组。
5 B& _& W# d8 E( K# y8 D7 }127 0x007F找不到指定的程序。
* ?* j0 ~: Q! L128 0x0080没有子行程可供等待。 , u* K9 n i5 A
129 0x0081 %1这个应用程式无法在Win32模式下执行。
- u. Q; E) u) g$ @6 E$ n4 @130 0x0082 Attempt to use a file handle to an open disk partition for
; q3 @* I s* D4 San operation other than raw disk I/O.
+ D1 T }- q) z) Y131 0x0083尝试将档案指标移至档案开头之前。
j# A: {5 S: Q9 k/ r132 0x0084无法在指定的装置或档案,设定档案指标。
) n/ E7 \& q5 j/ s( c) ]' s133 0x0085 JOIN或SUBST指令 无法用於 内含事先结合过的磁碟机。
) G# O1 T8 U4 l: X& [134 0x0086尝试在已经结合的磁碟机,使用JOIN或SUBST指令。 ' R3 r: Y/ o9 n2 U2 e
135 0x0087尝试在已经替换的磁碟机,使 用JOIN或SUBST指令。
% Q; k, q0 q& Z5 ^# b* H5 m* X, Y, @136 0x0088系统尝试删除 未连结过的磁碟机的连结关系。 & `' a- f) W+ V- i$ h
137 0x0089系统尝试删除 未替换过的磁碟机的替换关系。
[, u' a! x2 T5 j138 0x008A系统尝试将磁碟机结合到已经结合过之磁碟机的目录。
e7 Q: r! q/ y# j2 b5 o7 P) ^139 0x008B系统尝试将磁碟机替换成已经替换过之磁碟机的目录。
/ l( U5 f# A; w' X+ {: H1 o* j140 0x008C系统尝试将磁碟机替换成已经替换过之磁碟机的目录。
b" N I- y, J$ U5 p141 0x00系统尝试将磁碟机SUBST成已结合的磁碟机 目录。 8 b' J( y% M; e6 x. V% b
142 0x008E系统此刻无法执行JOIN或SUBST。 $ Y* H6 S$ k! B1 t! ^
143 0x008F系统无法将磁碟机结合或替换同一磁碟机下目录。
- H, V! |6 ~; G& I% x144 0x0090这个目录不是根目录的子目录。
- a& W* i" c1 c( i {145 0x0091目录仍有资料。 . O9 u; P- M1 k4 [: ?; j
146 0x0092指定的路径已经被替换过。
9 u- r6 w- n% o7 X147 0x0093资源不足,无法处理这项 指令。
% H& ~3 f. I ? D2 w8 y( w7 W148 0x0094指定的路径这时候无法使用。
, w+ X6 b* [5 B149 0x0095尝试要结合或替换的磁碟机目录,是已经替换过的的目标。 5 `, `: l, d ^; C" ?/ u
150 0x0096 CONFIG.SYS档未指定系统追踪资讯,或是追踪功能被取消。 4 L" R* V8 m2 P9 [+ K
151 0x0097指定的semaphore事件DosMuxSemWait数目不正确。 ! v) C X0 S. m: l8 ^
152 0x0098 DosMuxSemWait没有执行;设定太多的semaphore。 4 K# @2 T7 I) U$ z
153 0x0099 DosMuxSemWait清单不正确。 % `0 t$ [! n! p3 C! x! q0 a' n
154 0x009A您所输入的储存媒体标 元长度限制。
: S. M1 c' |/ H% s& P5 G155 0x009B无法建立其他的执行绪。 + A. R; O) b7 t8 n5 I( F
156 0x009C接收行程拒绝接受信号。
, f/ a: r6 c/ I: }" K157 0x009D区段已经被舍弃,无法被锁定。
$ i; B2 W1 G5 \& G: M' B158 0x009E区段已经解除锁定。 4 x* {$ `. g/ t! C9 U: e
159 0x009F执行绪识别码的位址不正确。
; e# }5 F- N' N3 n160 0x00A0传到DosExecPgm的引数字串不正确。 ~5 E! u. m# \ ~& l
161 0x00A1指定的路径不正确。 ' n$ T. `; T2 {
162 0x00A2信号等候处理。
9 o+ N$ }+ d* W+ x164 0x00A4系统无法建立执行绪。
7 M2 Q! w: u6 N7 u167 0x00A7无法锁定档案的部份范围。
. P* i1 X W; R9 _& k170 0x00AA所要求的资源正在使用中。 & V( k d9 G9 O
173 0x00AD取消范围的锁定要求不明显。
0 ~$ m4 u, {' [3 L6 A174 0x00AE档案系统不支援自动变更锁定类型。
. {* }" i% Z( \2 c3 a+ T4 ?180 0x00B4系统发现不正确的区段号码。 ( p! E% A0 U# _2 H4 L5 r$ m
182 0x00B6作业系统无法执行 %1。
! |: j* @7 S( @" P, v/ o) \183 0x00B7档案已存在,无法建立同一档案。
$ |8 y; H4 V" @+ `/ S; T; D186 0x00BA传送的旗号错误。
' V* [" ~% G2 b& J. S1 P3 ^187 0x00BB指定的系统旗号找不到。 4 W) m" x( s) \, u# u1 v; O! n* S# \
188 0x00BC作业系统无法执行 %1。
# q E. [; I5 G" d- Z( m" h# {189 0x00BD作业系统无法执行 %1。 6 j8 W' P0 o' P# e; \/ V" v
190 0x00BE作业系统无法执行 %1。
1 z. v3 k, l0 B4 p9 N191 0x00BF无法在Win32模式下执行 %1。
' S' v+ m' C& Z( p& N3 R9 N192 0x00C0作业系统无法执行 %1。 8 g. C$ C+ F. ?9 M
193 0x00C1 %1不是正确的Win32应用程式。 $ Y) ~# @/ B7 M( d
194 0x00C2作业系统无法执行 %1。 / B' b i5 S2 @; L5 z! s' @
195 0x00C3作业系统无法执行 %1。
7 \3 k, X2 S( v/ V6 g" x$ _; }196 0x00C4作业系统无法执行 这个应用程式。 8 U2 W+ X' e" u6 D: P5 l8 T: ^
197 0x00C5作业系统目前无法执行 这个应用程式。
9 f7 U/ B2 D& J198 0x00C6作业系统无法执行 %1。 - Y+ a, w* E4 k/ Q1 |0 r/ U [
199 0x00C7作业系统无法执行 这个应用程式。
- h* H. n6 _& L: T7 ~3 D200 0x00C8程式码的区段不可以大於或等於64KB。 0 E: u* L7 m3 Y' `
201 0x00C9作业系统无法执行 %1。 ( s. z' p8 ` W' C9 }. q; E, \, k, b
202 0x00CA作业系统无法执行 %1。 j, e- R% e; i# R
203 0x00CB系统找不到输入的环境选项。 \r D" [, W' l- S1 k/ J- H0 M# }
205 0x00CD在指令子目录下,没有任何行程有信号副处理程式。
3 J# x/ U6 D6 K206 0x00CE档案名称或副档名太长。
3 K5 R! r" s. }) w207 0x00CF ring 2堆叠使用中。 7 M: W; z* g& W) M1 [2 A- N
208 0x00D0输入的通用档名字元 * 或 ? 不正确, 或指定太多的通用档名字元。
. g, k7 f7 L6 s, L8 U8 F% @209 0x00D1所传送的信号不正确。
1 C& ?; a+ g2 k" x3 l/ d5 g210 0x00D2无法设定信号处理程式。
4 f% {8 V# S' e/ U, L S212 0x00D4区段被锁定,而且无法重新配置。 ! j; |, C% J1 f9 T5 {! A1 }9 h8 t
214 0x00D6附加到此程式或动态连结模组的动态连结模组太多。 " m) | d( C, w: ?
215 0x00D7 Can''t nest calls to LoadModule.
/ ?: u1 t% B- v6 }( r R230 0x00E6 The pipe state is invalid.
2 M1 T: A, R( g$ a231 0x00E7所有的pipe instances都在忙碌中。 ( b! n9 Q, J V
232 0x00E8 The pipe is being closed.
5 ]6 D# g8 ^/ r! O- F" b233 0x00E9 No process is on the other end of the pipe.
# y- I9 x1 e8 P8 c# M& T4 a z234 0x00EA有更多可用的资料。
# k8 U- I8 ]( h$ R240 0x00F0作业阶段被取消。 . D$ t8 C- b! H2 V( D
254 0x00FE指定的延伸属性名称无效。
( v. ]+ Z0 h' {" a255 0x00FF延伸的属性不一致。
5 [ ` n, _+ E6 v259 0x0103没有可用的资料。
5 g* s3 `- m/ p4 K. p: U266 0x010A无法使用Copy API。
4 C: A5 K a, i* [9 _5 U9 M267 0x010B目录名称错误。
5 Z) l3 u5 s v' t3 l275 0x0113延伸属性不适用於缓冲区。 / ^" P( z# U7 s' C% X7 Q
276 0x0114在外挂的档案系统上的延伸属性档案已经毁损。 8 ^7 |+ G& ?$ h) o p2 D
277 0x0115延伸属性表格档满。
2 i0 e' e& ]3 z7 t) x278 0x0116指定的延伸属性代码无效。
! k7 x% p4 x; q3 I4 X282 0x011A外挂的这个档案系统不支援延伸属性。
2 U4 Q- d* ^5 a( `8 _/ c288 0x0120意图释放不属於叫用者的mutex。
& D J5 l @; D1 d+ ^3 S298 0x012A semaphore传送次数过多。
" M. p7 R$ |$ \: U( X299 0x012B只完成Read/WriteProcessMemory的部份要求。
% u' _5 P$ m3 P317 0x013D系统找不到位於讯息档 %2中编号为0x%1的讯息。
L( E2 h* g+ a) C. i487 0x01E7尝试存取无效的位址。
! F6 }$ I; Z9 g( s& z) y534 0x0216运算结果超过32位元。
8 ^0 H2 k6 P/ K7 d+ ^535 0x0217通道的另一端有一个行程在接送资料。 % M- O! W" _- M6 L
536 0x0218等候行程来开启通道的另一端。 ( Q; V9 T; U7 k( } d
994 0x03E2存取延伸的属性被拒。
6 ?: s* Z2 |* b7 U* y. u! f4 y! n995 0x03E3由於执行绪结束或应用程式要求,而异常终止I/O作业。 0 b1 s7 t" N {- A% m
996 0x03E4重叠的I/O事件不是设定成通知状态。
* z/ k9 O( z* R997 0x03E5正在处理重叠的I/O作业。 . A' k. c* j+ C
998 0x03E6对记忆体位置的无效存取。 ! a# a6 F; f$ e
999 0x03E7执行inpage作业发生错误。 # Z; _1 Q1 g8 B' d1 B9 m
第三个问题:以前在别人的帖子里面贴过,现在转过来:>运行某些程序的时候,有时会出现内存错误的提示,然后该程序就关闭。
* K( Z8 y/ w. ^2 J5 p5 ?" K+ Q3 u* ]
“0x????????”指令引用的“0x????????”内存。该内存不能为“read”。
4 K$ p/ \; ]' b3 f
, ]1 o% A$ n h2 H) I% ~“0x????????”指令引用的“0x????????”内存,该内存不能为“written”。 ; l# T* d1 C4 H5 ^4 j& Z
( ]* K& y3 K2 G% H2 r
以上的情况相信大家都应该见到过,甚至说一些网友因为不爽于这个经常出现的错误提示而屡次重装系统。相信普通用户应该不会理解那些复杂的十六进制代码。
/ W; ^' D) w7 Y8 g9 i6 R. m
6 H/ Z+ ^7 d% X+ D6 j/ ~出现这个现象有方面的,一是硬件,即内存方面有问题,二是软件,这就有多方面的问题了。
6 \, k5 z: o% K, S
5 G* T. C9 `8 x一:先说说硬件:' s) ]9 g" @, c% e) v# G
; D! g" x4 L& I' S一般来说,电脑硬件是很不容易坏的。内存出现问题的可能性并不大(除非你的内存真的是杂牌的一塌徒地),主要方面是:1。内存条坏了(二手内存情况居多)、2。使用了有质量问题的内存,3。内存插在主板上的金手指部分灰尘太多。4。使用不同品牌不同容量的内存,从而出现不兼容的情况。5。超频带来的散热问题。你可以使用MemTest 这个软件来检测一下内存,它可以彻底的检测出内存的稳定度。 5 o9 n" U2 A$ d. ~5 e
0 Q1 t$ V0 l8 E6 R
二、如果都没有,那就从软件方面排除故障了。 2 B" r. T$ ^6 o$ ^/ Q& ]
! k" N1 k& i2 N$ b/ n# i: P! e! T先说原理:内存有个存放数据的地方叫缓冲区,当程序把数据放在缓冲区,需要操作系统提供的“功能函数”来申请,如果内存分配成功,函数就会将所新开辟的内存区地址返回给应用程序,应用程序就可以通过这个地址使用这块内存。这就是“动态内存分配”,内存地址也就是编程中的“光标”。内存不是永远都招之即来、用之不尽的,有时候内存分配也会失败。当分配失败时系统函数会返回一个0值,这时返回值“0”已不表示新启用的光标,而是系统向应用程序发出的一个通知,告知出现了错误。作为应用程序,在每一次申请内存后都应该检查返回值是否为0,如果是,则意味着出现了故障,应该采取一些措施挽救,这就增强了程序的“健壮性”。若应用程序没有检查这个错误,它就会按照“思维惯性”认为这个值是给它分配的可用光标,继续在之后的执行中使用这块内存。真正的0地址内存区储存的是计算机系统中最重要的“中断描述符表”,绝对不允许应用程序使用。在没有保护机制的操作系统下(如DOS),写数据到这个地址会导致立即当机,而在健壮的操作系统中,如Windows等,这个操作会马上被系统的保护机制捕获,其结果就是由操作系统强行关闭出错的应用程序,以防止其错误扩大。这时候,就会出现上述的内存不能为“read”错误,并指出被引用的内存地址为“0x00000000“。内存分配失败故障的原因很多,内存不够、系统函数的版本不匹配等都可能有影响。因此,这种分配失败多见于操作系统使用很长时间后,安装了多种应用程序(包括无意中“安装”的病毒程序),更改了大量的系统参数和系统档案之后。- U- c g+ o. R- F
/ g/ c. _5 G- L N
在使用动态分配的应用程序中,有时会有这样的情况出现:程序试图读写一块“应该可用”的内存,但不知为什么,这个预料中可用的光标已经失效了。有可能是“忘记了”向操作系统要求分配,也可能是程序自己在某个时候已经注销了这块内存而“没有留意”等等。注销了的内存被系统回收,其访问权已经不属于该应用程序,因此读写操作也同样会触发系统的保护机制,企图“违法”的程序唯一的下场就是被操作终止执行,回收全部资源。计算机世界的法律还是要比人类有效和严厉得多啊!像这样的情况都属于程序自身的BUG,你往往可在特定的操作顺序下重现错误。无效光标不一定总是0,因此错误提示中的内存地址也不一定为“0x00000000”,而是其它随机数字。
: ?4 u0 n/ ?2 E. w7 z' h$ Y6 Y& F
/ V# k Y) z0 x# N7 D3 f+ X2 n& }首先建议:
/ l* e# ?3 ?! p3 q" ~3 J2 K1 }8 B) j
! ^' ^2 D& n3 ^, ]; X$ C1、 检查系统中是否有木马或病毒。这类程序为了控制系统往往不负责任地修改系统,从而导致操作系统异常。平常应加强信息安全意识,对来源不明的可执行程序绝不好奇。
+ H( D' c9 ^$ E) p! @ f2 x/ F I# H( ^" v6 h
2、 更新操作系统,让操作系统的安装程序重新拷贝正确版本的系统档案、修正系统参数。有时候操作系统本身也会有BUG,要注意安装官方发行的升级程序。 R: }6 L3 u% @) i
& t! c9 G4 ?! l& h5 q& A9 C
3、 尽量使用最新正式版本的应用程序、Beta版、试用版都会有BUG。0 |; k' q6 O3 I/ ?5 Z& S
; }5 R9 W& ~% j% C. ?2 |. g
4、 删除然后重新创建 Winnt\System32\Wbem\Repository 文件夹中的文件:在桌面上右击我的电脑,然后单击管理。 在"服务和应用程序"下,单击服务,然后关闭并停止 Windows Management Instrumentation 服务。 删除 Winnt\System32\Wbem\Repository 文件夹中的所有文件。(在删除前请创建这些文件的备份副本。) 打开"服务和应用程序",单击服务,然后打开并启动 Windows Management Instrumentation 服务。当服务重新启动时,将基于以下注册表项中所提供的信息重新创建这些文件: HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\WBEM\CIMOM\Autorecover MOFs; R' b/ s" n- M" X
: ]7 j. f$ m' l- T* J$ x下面搜集几个例子给大家分析:
; r8 G; z# t; j0 E! ]$ J) t2 I( J% k' R+ `$ ^" ?- y# d* c6 _8 L
例一:IE浏览器出现“0x0a8ba9ef”指令引用的“0x03713644” 内存,或者“0x70dcf39f”指令引用的“0x00000000”内存。该内存不能为“read”。要终止程序,请单击“确定”的信息框,单击“确定”后,又出现“发生内部错误,您正在使用的其中一个窗口即将关闭”的信息框,关闭该提示信息后,IE浏览器也被关闭。解决方法:
% Q' @! Z& H" w- i+ h) y- a! o& g; E- X8 X
1、 开始-运行窗口,输入“regsvr32 actxprxy.dll”回车,接着会出现一个信息对话 框“DllRegisterServer in actxprxy.dll succeeded”,确定。再依次运行以下命令。(这个方法有人说没必要,但重新注册一下那些.dll对系统也没有坏处,反正多方下手,能解决问题就行。)
' a8 F. I+ q' p/ `( g# u1 _
' h) f/ s* ]* z) \# C4 u" }regsvr32 shdocvw.dll
+ A: K/ y- B3 ?. N8 V
2 J8 _, @8 Q8 ^- }: T% c% Y( aregsvr32 oleaut32.dll/ {" a/ \1 m: s( `
; _6 W$ J" Q _2 G
regsvr32 actxprxy.dll
7 ]! \0 n7 M6 r3 q6 f. c- `
( L6 S s3 E; `3 {regsvr32 mshtml.dll
" i- U2 ]/ w! x( ]; `0 q" a* `1 ~* m2 a
regsvr32 msjava.dll
6 I& K. Q% A- u' c: n3 f5 e
# u. L6 g/ x- o4 Bregsvr32 browseui.dll: ]- Z# g- r, C" C% u. _( s
5 T- D) I( s: M0 m) u
regsvr32 urlmon.dll
- }9 ~& \3 C% L1 K
; {- s, t, M. C- M2、 修复或升级IE浏览器,同时打上系统补丁。看过其中一个修复方法是,把系统还原到系统初始的状态下。建议将IE升级到了6.0。 # ~& Y* R3 k- I+ z. S/ X
* { V$ o: W) y) Q# g% {1 i$ a
例二:有些应用程序错误: “0x7cd64998” 指令参考的 “0x14c96730” 内存。该内存不能为 “read”。解决方法:Win XP的“预读取”技术这种最佳化技术也被用到了应用程序上,系统对每一个应用程序的前几次启动情况进行分析,然后新增一个描述套用需求的虚拟“内存映像”,并把这些信息储存到Windows\Prefetch文件夹。一旦建立了映像,应用软件的装入速度大大提高。XP的预读取数据储存了最近8次系统启动或应用软件启动的信息。建议将虚拟内存撤换,删除Windows\Prefetch目录下所有*.PF文件,让windows重新收集程序的物理地址。
( E' [5 r& Z; {- D0 g7 x1 a+ h& J; a/ h5 F/ }* W
例三:在XP下双击光盘里面的“AutoRun.exe”文件,显示“0x77f745cc”指令引用的“0x00000078”内存。该内存不能为“written”,要终止程序,请单击“确定”,而在Windows 98里运行却正常。 解决方法:这可能是系统的兼容性问题,winXP的系统,右键“AutoRun.exe”文件,属性,兼容性,把“用兼容模式运行这个程序”项选择上,并选择“Windows 98/Me”。win2000如果打了SP的补丁后,只要开始,运行,输入:regsvr32 c:\winnt\apppatch\slayerui.dll。右键,属性,也会出现兼容性的选项。
2 y, Z1 S6 j+ p; M. I- M8 I: E3 E& n* h
例四:RealOne Gold关闭时出现错误,以前一直使用正常,最近却在每次关闭时出现“0xffffffff”指令引用的“0xffffffff”内存。该内存不能为“read” 的提示。 解决方法:当使用的输入法为微软拼音输入法2003,并且隐藏语言栏时(不隐藏时没问题)关闭RealOne就会出现这个问题,因此在关闭RealOne之前可以显示语言栏或者将任意其他输入法作为当前输入法来解决这个问题。
; S" E: @8 I3 ?: v8 B$ M7 ?: i
3 |" [2 b! c+ G7 z$ Z4 t例五:我的豪杰超级解霸自从上网后就不能播放了,每次都提示“0x060692f6”(每次变化)指令引用的“0xff000011”内存不能为“read”,终止程序请按确定。 解决方法:试试重装豪杰超级解霸,如果重装后还会,到官方网站下载相应版本的补丁试试。还不行,只好换就用别的播放器试试了。 4 R2 J! x5 D6 }3 v8 E
! L) H& s% U: ~: ~/ Q% R例六:双击一个游戏的快捷方式,“0x77f5cd0”指令引用“0xffffffff”内 存,该内存不能为“read” ,并且提示Client.dat程序错误。解决方法:重装显卡的最新驱动程序,然后下载并且安装DirectX9.0。 " ?7 V8 j0 ~$ r n
! @3 |. K9 r g' c, x" ?4 V* U
例七:一个朋友发信息过来,我的电脑便出现了错误信息:“0x772b548f”指令引用的“0x00303033”内存,该内存不能为“written”,然后QQ自动下线,而再打开QQ,发现了他发过来的十几条的信息。 解决方法:这是对方利用QQ的BUG,发送特殊的代码,做QQ出错,只要打上补丁或升级到最新版本,就没事了。
7 Y5 W, ]. l3 s6 @ I3 `; r$ p7 O) Z; Q& D4 u3 l5 Y
第四个问题:应该是电源的问题或者机箱的绝缘性不是很好,用一个铁丝把机箱拴上,搭在地上放电,就能够基本上防止漏电的现象。 |
|