为啥我打开我的电脑或我的文档等时总会有runtime error at...

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了为啥我打开我的电脑或我的文档等时总会有runtime error at...相关的知识,希望对你有一定的参考价值。

参考技术A Runtime是运行时的意思,Runtime Error就是运行时错误,就是在运行期间出现的错误。

webopedia 关于 运行时错误的定义:

http://www.webopedia.com/TERM/r/runtime_error.html

An error that occurs during the execution of a program. In contrast, compile-time errors occur while a program is being compiled. Runtime errors indicate bugs in the program or problems that the designers had anticipated but could do nothing about. For example, running out of memory will often cause a runtime error.(运行时错误是程序执行期间发生的错误,它不同于编译期间发生的错误.运行时错误可能是程序中的毛病引起的,也可能程序并无错误,例如机器存储器不够引起)

Note that runtime errors differ from bombs or crashes in that you can often recover gracefully from a runtime error.(运行时错误不同于炸弹或系统垮掉,运行时错误一般不影响操作系统运行)

具体的运行错误,要参照错误信息,分析后,想办法解决.

主要是 用到 IE的时候就出现这个 ,我平时用myie2。
上网查看了一些东西后 ,自己用 roguecleaner的软件扫描了一下,把一些垃圾广告插件都去了。就 OK了,^_^ 。

特别是出现桌面文件夹打不开的时候吓死我了,我刚重装系统,丢了些资料。

RUNTIME ERROR SSS AT III:MMM
其中,SSS是运行错误代码,III是错误发生的程序段,MMM是错误地址。

DOS 错误代码:
1 无效DoS功能号
2 文件末找到
3 路径未找到
4 打开文件过多
5 禁止文件存取
6 无效文件句柄
12 无效文件存取代码
15 无效驱动器号
16 不能删除当前日录
17 不能跨驱动器改文件名

I/O错误
100 磁盘读错误
101 磁盘写错误
102 文件变量末赋值
103 文件未打开
104 文件未用输入方式打开
105 文件末用输出方式打开
106 无效数字格式

严重错误
150 磁盘写保护
15l 未知单元
152 驱动器未准备好
153 未知命令
154 数据CRC校验错
155 驱动器请求的结构长度错
156 磁盘定位错
157 未知媒介类型
158 扇区末找到
159 打印机缺纸
160 设备写失败
161 设备读失败
162 硬件故障

致命错误
200 被零除
201 范围检查错
202 堆栈溢出错
203 堆溢出错
204 无效指针操作
205 浮点上溢出
206 浮点下溢出
207 无效浮点运算
208 未安装覆盖管理程序
209 覆盖文件读错
210 对象未初始化
211 调用抽象方法
212 流登计错
213 集合下标越界
214 集合溢出

下面列出在编译程序时可能出现的错误,在集成环境下,Turbo Pascal将自动加载源程序并定位于出错处。

1 内存溢出
2 缺标识符
3 标识符未定义
4 标识符重定义
5 语法错误
6 实型常量错
7 整型常量错
8 字符串常量跨行
9 文件嵌套过多
10 非正常文件结束
11 行过长
12 缺类型标识符
13 打开文件过多
14 无效文件名
15 文件未找到
16 磁盘满
17 无效编译指示
18 文件过多
19 指针定义中未定义类型
20 缺变量标识符
21 类型错误
22 结构过长
24 文件分量不能为文件
25 无效字符串长度
26 类型不匹配
27 无效子界基类型
28 下界大于上界
29 缺有序类型
30 缺整型常数
31 缺常数
32 缺整型或实型常数
33 缺指针类型标识符
34 无效的函数结果类型
35 缺标号标识符
36 缺BEGIN
37 缺END
38 缺整型表达式
39 缺有序表达式
40 缺布尔表达式
41 操作数类型与操作符不匹配
42 表达式错
43 非法赋值
44 缺字段标识符
45 目标文件过长
46 未定义外部标识符
47 无效*.OBJ文件记录
48 代码段过长
49 数据段过长
50 缺DO
51 无效PUBLIC定义
52 无效EXTRN定义
53 EXTRN定义过多
54 缺0F
55 缺INTERFACE
56 无效重定位引用
57 缺THEN
58 缺T0或DOWNTO
59 未定义的向前引用
60 过程过多
61 无效类型转换
62 被零除D
63 无效文件类型
64 不能读写该类型的变量
65 缺指针变量
66 缺字符串变量
67 缺字符串表达式
68 单元循环引用
69 单元名不匹配
70 单元版本不匹配
71 单元重名
72 单元文件格式错误
73 缺IMPLEMENTATl0N
74 常数与CASE类型不相匹配
75 缺记录变量
76 常数越界
77 缺文件变量
78 缺指针变量
79 缺整型或实型表达式
80 标号不在当前块中
81 标号已定义
82 标号未定义
83 无效参数
84 缺UNIT
85 缺“;”
86 缺“:”
87 缺“,”
88 缺“(”
89 缺“)”
90 缺“=”
91 缺“:=”
92 缺“[”或“(.”
93 缺“]”或“.)”
94 缺“.”
96 变量过多
97 无效FOR控制变量
98 缺整型变量
99 此处不允许用文件和
100字符串长度不匹配
101无效字顺序
102缺字符串常数
103缺整型或实型变量
104缺有序变量
105INLINE错
106缺字符表达式
107重定位项过多
112CASE常量越界
113语句错
114不能调用中断过程
116必须在8087方式下编译
117末找到目标地址
118此处不允许包含文件
120缺NIL
121无效限定符
122无效变量引用
123符号过多
124语句部分过长
126文件必须为变量参数
127条件符号过多
128条件指令错位
130初始条件定义错
13l过程和函数头与前面定义的不匹酉
132严重磁盘错误
133不能计算该表达式
134表达式错误结束
135无效格式说明符
136无效间接引用
137此处不允许结构变量
138无SYSTEM单元不能计算
139不能存取该符号
140无效浮点运算
141不能将覆盖编译至内存
142缺过程和函数变量
143无效过程或函数引用
144不能覆盖该单元
147缺对象类型
148不允许局部对象类型
149缺VIRTUAL
150缺方法标识符
151不允许虚拟构造方法
152缺构造方法标识符
153缺释放方法标识符
154FAIL只允许在构造方法内使用
155无效的操作符和操作数组合
156缺内存引用
157不能加减可重定位符号
158无效寄存器组合
159未激活286/287指令
160无效符号引用
161代码生成错
162缺ASM

解决方法,重装DOS或系统

我的电脑在运行中总会出现“数据执行保护-Microsoft Windows”窗口,请问这是为啥?

我的电脑在运行中会 经常出现“数据执行保护-Microsoft Windows”窗口,我点击“关闭”按扭又出来“xeplorer.exe”窗口,里面写着:“explorer.exe遇到问题需要关闭。我们对此引起的不便表示抱歉”我关闭后会频繁出现,请问这是为什么?应该怎样解决?请各位朋友详细地帮我解答一下。首先在这里谢谢大家了

右键 我的电脑 => 属性 => 高级 选项卡
在性能那点设置 => 数据执行保护 选择"除所选之外................."单选框,然后在添加Windows Explorer进去就行了

附:Windows XP SP2 中的数据执行保护功能的详细说明

概要
Microsoft Windows XP Service Pack 2 使用一项新的数据执行保护 (DEP) 功能,可禁止执行数据页中的代码。当尝试运行标记的数据页中的代码时,就会立即发生异常并禁止执行代码。这可以防止攻击者使用代码致使数据缓冲区溢出,然后执行该代码。
简介
数据执行保护 (DEP) 是 Microsoft Windows XP Service Pack 2 (SP2) 支持的一种处理器功能,它禁止在标记为数据存储的内存区域中执行代码。此功能也称作“不执行”和“执行保护”。当尝试运行标记的数据页中的代码时,就会立即发生异常并禁止执行代码。这可以防止攻击者使用代码致使数据缓冲区溢出,然后执行该代码。
更多信息

数据执行保护 (DEP) 有助于防止病毒和其他安全威胁造成破坏,它们的攻击方法是从只有 Windows 和其他程序可以使用的内存位置执行恶意代码。此类威胁使用以下方法造成破坏:它接管某个程序正在使用的一个或多个内存位置,然后进行传播并破坏其他程序、文件甚至您的电子邮件联系方式。

与防火墙或防病毒程序不同,DEP 不能阻止在您的计算机上安装有害程序。但是,它会监视您的程序,以确定它们是否安全地使用系统内存。为此,DEP 软件会单独或与兼容的微处理器一起将某些内存位置标记为“不可执行”。如果某个程序尝试从受保护的位置运行代码,DEP 将关闭该程序并通知您。即使该代码不是恶意代码,也会执行此操作。

64 位 Windows 版本上的 DEP

64 位处理器上的 64 位 Windows 版本可以在 64 位模式下运行程序。无论处理器的结构如何,64 位 Windows 版本的内核模式 DEP 均适用于堆栈、页面缓冲池和会话池。

默认情况下,在 Windows XP SP2 中启用 DEP,并且无法将其禁用。64 位应用程序将无法从堆栈或默认进程堆中运行。对于需要分配可执行内存的应用程序,可使用带有某个 PAGE_EXECUTE* 内存属性的 VirtualAlloc( ) 来运行。

32 位 Windows 版本上的 DEP• 用户模式 DEP
在不久的将来,许多运行 Windows 和 Windows 兼容程序的计算机都将使用运行 32 位 Windows 版本的 32 位处理器。但是,AMD Opteron 和 Athlon-64 等新的处理器同时支持 32 位和 64 位操作模式。(32 位操作模式是旧模式;而 64 位操作模式是本机模式。)
同时支持 32 位和 64 位操作模式的新处理器可以在 32 位操作系统和 32 位应用程序环境中运行,在启用物理地址扩展 (PAE) 模式后,它们还可以使用 DEP。
我们将探讨分别为每个 32 位应用程序禁用或启用 DEP 的方法。默认情况下,为 64 位应用程序启用 DEP。DEP 异常将导致 Windows 系统上出现状态代码 STATUS_ACCESS_VIOLATION (0xc0000005)。在大多数进程中,这是一个未经处理的异常,并导致进程终止。

• 内核模式 DEP
对于用户模式和内核模式,DEP 的工作原理相同。在内核模式下,不能分别为每个驱动程序启用或禁用内存区域 DEP。默认情况下,在 32 位 Windows 版本上,DEP 仅适用于堆栈。在 64 位 Windows 版本上,DEP 适用于堆栈、页面缓冲池和会话池。内核模式下的访问冲突将导致出现 Bugcheck 0x000000FC:ATTEMPTED_EXECUTE_OF_NONEXECUTE_MEMORY。
兼容性问题

应用程序和驱动程序都可能会发生 DEP 兼容性问题。• 应用程序兼容性
有些应用程序行为可能与 DEP 不兼容。执行动态代码生成(如实时代码生成)的应用程序以及不使用“执行”权限明确标记生成的代码的应用程序与 DEP 之间可能存在兼容性问题。
试图违反 DEP 的应用程序将会出现异常,并显示状态代码 STATUS_ACCESS_VIOLATION (0xc0000005)。如果应用程序需要可执行内存,则必须在相应的内存中明确设置此属性,方法是在 Virtual* 内存分配函数的内存保护参数中指定 PAGE_EXECUTE、PAGE_EXECUTE_READ、PAGE_EXECUTE_READWRITE 或 PAGE_EXECUTE_WRITECOPY。
有关更多信息,请参阅下面的 MSDN 文章:
http://msdn.microsoft.com/security/productinfo/XPSP2/memoryprotection/exec_imp.aspx

(http://msdn.microsoft.com/security/productinfo/xpsp2/memoryprotection/exec_imp.aspx)
• 驱动程序兼容性
驱动程序与 DEP 的兼容性问题主要是指由 PAE 模式引起的兼容性问题。DEP 本身可能与以下驱动程序之间存在兼容性问题:执行代码生成的驱动程序或使用其他方法实时生成可执行代码的驱动程序。始终为 64 位 Windows 版本上加载的驱动程序启用 DEP 支持。尽管许多创建可执行代码的驱动程序在 Windows XP SP2 中可能已得到修复,但是不能保证所有驱动程序都已更新。
不过,因为使用这些方法的驱动程序非常少,所以 DEP 本身不会产生很多驱动程序兼容性问题。大多数驱动程序兼容性问题与在 32 位系统上运行 PAE 模式有关。如果启用 PAE 模式,有些驱动程序可能无法加载,这是因为该设备可能无法进行 64 位寻址,或者驱动程序可能假定 PAE 模式需要超过 4 GB 的 RAM。这些驱动程序认为,当它们处于 PAE 模式时,它们将始终接收 64 位地址,并认为它们(或其设备)无法解释该地址。
其他驱动程序可通过直接修改系统页表项,以便在 PAE 模式下进行加载,但这会导致系统不稳定。这些驱动程序需要 32 位页表项,但在 PAE 模式下它们收到的却是 64 位页表项。驱动程序与 PAE 之间最大的兼容性问题与直接内存访问 (DMA) 传输和映射寄存器分配有关。许多支持 DMA 的设备(通常是 32 位适配器)都无法进行 64 位物理寻址。当设备在 32 位模式下运行时,它可以对所有物理地址空间进行寻址。
在 PAE 模式下,数据可以位于大于 4 GB 的物理地址中。在此情况下,为使具有这些限制的设备能够正常工作,Windows XP SP2 通过提供由映射寄存器指示的 32 位地址,为 DMA 事务提供双缓冲处理。设备可以执行到 32 位地址的 DMA 事务,而且内核将内存复制到为驱动程序提供的 64 位地址。
当系统在禁用 PAE 的情况下运行时,32 位设备的驱动程序根本不需要实际内存来支持它们的映射寄存器。这意味着,不需要进行双缓冲处理,因为 32 位地址空间中包含所有设备和驱动程序。根据在基于 x86 和基于 x64 的计算机上对 32 位设备驱动程序进行的测试,大多数经过客户端测试并支持 DMA 的驱动程序都需要无限制的映射寄存器。
为限制兼容性问题,Windows XP SP2 对硬件抽象层 (HAL) 进行了更改以模拟 32 位 HAL DMA 行为。修改后的 HAL 使系统在 PAE 模式下运行时可以具有无限制的映射寄存器。另外,内核内存管理器忽略任何大于 4 GB 的物理地址。
由于对 HAL 和内存管理器进行了这些更改,我们预计运行 Windows XP SP2 且支持 DEP 的系统上的设备驱动程序兼容性问题将会降到最低。

开发人员备注
需要可执行内存区域的应用程序在分配内存时,必须使用 PAGE_EXECUTE、PAGE_EXECUTE_READ、PAGE_EXECUTE_READWRITE 或 PAGE_EXECUTE_WRITECOPY 属性。另外,应用程序不能从默认进程堆或堆栈执行。

大多数执行与 DEP 不兼容的操作的应用程序必须进行更新,以便与 DEP 保持兼容。如果某个应用程序从专用堆分配可执行内存,则必须确保该堆内存中设置了 EXECUTE 标志。该应用程序可以使用 VirtualAlloc 应用程序编程接口 (API) 分配具有适当保护设置的内存。

如果应用程序不从专用堆分配可执行内存,则必须对其进行修改以使其从专用堆分配可执行内存。该应用程序必须使用 VirtualAlloc API 创建此堆,并且至少为该内存指定 EXECUTE 标志。生成的任何代码必须放在该可执行堆中。

在生成可执行代码后,我们建议您为该应用程序设置内存保护,以禁止通过 VirtualProtect API 对该堆进行写访问。该措施将为进程地址空间的那些可执行区域提供更多保护。

配置和疑难解答

与数据执行保护支持有关的故障的症状包括:在启用 DEP 时尝试从内存执行的应用程序中发生访问冲突。在此情况下,将出现一个对话框,指示应用程序因 DEP 而出现错误。该对话框包含与以下内容类似的消息:
数据执行保护
Windows 安全功能检测到一个问题,并关闭了此程序。
名称:应用程序名称
发行商:应用程序发行商

数据执行保护帮助保护免受病毒和其他安全威胁的破坏。它是如何工作的?
(后跟“高级”和“确定”按钮。)
如果 DEP 是导致应用程序出现错误的原因,建议您与应用程序供应商取得联系,以确定是否有可用的更新,以使应用程序在启用 DEP 时能够正常运行。要解决这些问题,建议您安装此更新。

在单击“确定”后,将出现一个标准的 Windows 错误报告提示,并提供一个发送错误报告的选项。还可以通过“单击此处”选项查看收集了哪些信息。

在错误报告界面上单击“单击此处”链接后,将出现详细信息界面。在该数据的“错误签名”部分,您可以查看是否将此错误标识为“事件类型:BEX。BEX 指示与 DEP 相关的错误。

此界面还提供其他信息,这些信息主要来自一些异常参数: 参数 数据
1 应用程序名称
2 应用程序版本
3 应用程序时间戳
4 模块名称
5 模块版本
6 模块时间戳
7 模块偏移
8 异常代码(c0000005=访问冲突、c0000409=缓冲区溢出)

在初始界面上,您还可以单击“高级”来访问 DEP 配置设置。您可以使用这些设置为出现错误的应用程序添加例外项。

“数据执行保护”对话框提供以下三个选项:• 为所有程序启用 DEP(推荐)
• 关闭 DEP(不推荐)
• 帮助保护除下列程序之外的所有程序:
通过选择其中一个选项,您可以排除一个或多个应用程序,或者为整个计算机配置 DEP 设置。如果设置“关闭 DEP”选项,则会为当前运行的 Windows 安装的 boot.ini 配置文件添加一个开关。boot.ini 开关如下所示:• /noexecute — 这是默认开关。启用 DEP。
• /execute — 它禁用 DEP。
注意:建议您不要全局性地禁用 DEP。这会使计算机处于不太安全的状态。

也可以在“系统”属性中访问这些 DEP 设置。

如果没有适用于您的应用程序的更新,请按照下列步骤操作以访问和配置 DEP 配置设置:1. 在应用程序出现错误时,单击“高级”。
2. 在“数据执行保护”对话框中,选择“帮助保护除下列程序之外的所有程序:”
3. 单击应用程序旁边的复选框,然后单击“应用”。
4. 这时会出现一个提示,告诉您必须重新启动系统。单击“确定”。
5. 再次单击“确定”,然后重新启动系统。
也可以在“系统”属性中执行此过程:1. 单击“开始”,然后单击“控制面板”。
2. 在经典视图中,双击“系统”。
3. 单击“高级”选项卡,单击“性能”,然后单击“设置”。
4. 在“性能选项”对话框中,单击“数据执行保护”选项卡。
5. 选择“为所有程序和服务启用 DEP,但我选择的程序和服务除外:”,然后单击“添加”。
6. 在“打开”对话框中,找到并选择该应用程序,然后单击“打开”。
7. 单击“应用”,然后单击“确定”。将出现一个提示,通知您必须重新启动系统后设置才能生效。单击“确定”。
参考资料:http://ccid2432.blog.ccidnet.com/blog/ccid/do_showone/tid_11308.html
参考技术A 右键 我的电脑 => 属性 => 高级 选项卡
在性能那点设置 => 数据执行保护 选择"除所选之外................."单选框,然后在添加Windows Explorer进去就行了

以上是关于为啥我打开我的电脑或我的文档等时总会有runtime error at...的主要内容,如果未能解决你的问题,请参考以下文章

为啥我的vbs文件打开后会自动关闭

为啥我的电脑老是打开文件夹就卡死?

打开我的电脑,总会不能任何操作,像死机一样,然后警报溢出缓冲区,然后恢复正常

为啥打开我的电脑很慢

为啥我的ppt无法保存?

我的电脑刚装重装了系统,但是有的WPS文件打开之后内容是空白的,而且文件大小显示为0kb,这是为啥呢?