明经CAD社区

 找回密码
 注册

QQ登录

只需一步,快速开始

搜索
查看: 4058|回复: 9

[原创]解决"异常"这类问题的一种方法

[复制链接]
发表于 2007-7-10 14:34:00 | 显示全部楼层 |阅读模式

如何解决如下错误:

; 错误: 出现异常: 0xC0000005 (访问冲突)
; 警告: 忽略展开 异常
; 错误: 出现异常: 0xC0000005 (访问冲突)
; 错误: 出现异常: 0xC0000005 (访问冲突)

这类错误能无条件地中止程序,因而对程序设计是极为不利的。我认为,这类错误的出现,一般来说是内存分配的问题。

在这里提供一种方法,供大家探讨。

在你可能出错的函数段前面加上:(alloc 10000) 或者更大的值,

或者用(expand 2),或更大的值。

这样能有效避免这类错误的出现。 

"觉得好,就打赏"
还没有人打赏,支持一下
发表于 2007-7-12 20:38:00 | 显示全部楼层

不知在说什么,是不是CAD出现的致命错误呀?

发表于 2011-6-5 19:00:39 | 显示全部楼层
我曾经一次性处理好几百幅图,结果都是出现致命错误,但我分开处理就不会。我想可能是内存不足的原因。能不能在程序执行的过程中一边处理一边释放内存呢。
发表于 2011-6-6 09:31:28 | 显示全部楼层
回复 zark 的帖子

gc 用来释放内存,但不一定有效。
另外这个帖子写于我初学LISP,对内存的了解不深。
今天看来,这类问题不能完全归结1楼所说。--即内存分配不够,有时候可能就是内存访问冲突问题,即使分配再多的内存也不行,这时需检查程序内存访问的地方。
发表于 2011-6-6 15:40:16 | 显示全部楼层
类似访问冲突这类错误是由于访问了没有分配的堆栈。这样说:比如需要访问一个变量,需要向堆栈申请一个空间,这就是预留,然而你访问了没有预先分配的堆栈就会出现这种错误,这种错误一般是交给vl.arx处理,这种错误是无法交给用户处理的,所以一般这种错误会让程序崩溃,一般造成这种错误是由于cad本身造成的,比如不能正常分配堆栈,或者分配的堆栈被占用,都会导致这种错误,不管你用什么内存管理函数都是没有用处的,处理方法一般是重装,因为现在还不知道cad目录下面的什么文件被改写能造成这种问题。
发表于 2011-6-21 10:14:06 | 显示全部楼层
还是没看到解决方法,哎我都重装几次了都不行,别人机子上就可以,真是郁闷啊
发表于 2011-6-21 12:54:38 | 显示全部楼层
CAD本身的问题,你的机子上有某个软件与CAD有冲突,试试重装机子,系统安装好后,先安装CAD,再安装其他软件。
发表于 2011-6-26 00:05:34 | 显示全部楼层
经验法:如果你重新打开图纸,还是执行你最后一次执行的命令,肯定又会出错。我的经验是,重新打开图纸,尽量不要执行你最后一次执行的命令,而先做其它的命令,先执行其他的命令来画图,在过一会你再来执行你最后一次执行的命令,你会发现,问题解决了。
发表于 2011-6-26 06:33:17 | 显示全部楼层
e:\00.jpg
我装的AUTOCAD2010每次打开一个新图选择第一个对象时都弹出这个,确定后了也没有什么事,照样使用,但是特别容易当机,不知道是D版的原因还是什么,不知道有什么方法可以解决。
发表于 2011-6-26 08:27:57 | 显示全部楼层
zhongys 发表于 2011-6-26 06:33
我装的AUTOCAD2010每次打开一个新图选择第一个对象时都弹出这个,确定后了也没有什么事,照样使用,但是特 ...

一方面可能是cad配置的问题,还有可能是操作系统的问题
您需要登录后才可以回帖 登录 | 注册

本版积分规则

小黑屋|手机版|CAD论坛|CAD教程|CAD下载|联系我们|关于明经|明经通道 ( 粤ICP备05003914号 )  
©2000-2023 明经通道 版权所有 本站代码,在未取得本站及作者授权的情况下,不得用于商业用途

GMT+8, 2025-5-24 16:01 , Processed in 0.199901 second(s), 26 queries , Gzip On.

Powered by Discuz! X3.4

Copyright © 2001-2021, Tencent Cloud.

快速回复 返回顶部 返回列表