24小时热门版块排行榜    

查看: 564  |  回复: 7
当前主题已经存档。

tc1788

铁虫 (小有名气)

[交流] 【求助】运行时候提示exe文件就要关闭 调试也有问题怎么办

调试时候出现
Unhandled exception in Solidsim。exe:0xC0000005:Access Violation 什么意思呢
是我用VC++6.0编的
原来都对都可以编译和运行,但是后来我改了改程序就这样了 我也没改什么啊 就是把数组重新赋值了啊 比如说我把a【i】=b【j+1】;改为a【i】=b【j-6】;改了多处,也不涉及什么啊?请指教啊!!!
我发现虽然说提示关闭 但也有结果 出现了几幅图(我的程序是输出好多幅位图 )

例如       art[0]=a[j];     
          art[1]=a[j+1];
          art[2]=a[j+101];
           art[3]=a[j+100];
                   art[4]=a[j+99];
           art[5]=a[j-1];
           art[6]=a[j-101];
改为
           art[0]=a[j];
          art[1]=a[j+100];
           art[2]=a[j+99];
           art[3]=a[j-1];
           art[4]=a[j-101];
           art[5]=a[j-100];
           art[6]=a[j-99];就不能用了 不知道为什么啊 编译没错
运行时候就显示.exe文件有问题要关闭

[ Last edited by tc1788 on 2009-6-18 at 16:52 ]
回复此楼

» 猜你喜欢

已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖

woshilsh

荣誉版主 (职业作家)

优秀版主

建议,提问的时候,注意把条件写清楚,用什么工具?写什么程序?
等等

一头雾水!
[center][url=http://www.91cool.net/][img]http://id.91cool.net/sign/?name=小木虫印&say=各位版主辛苦了![/img][/url][/center]
2楼2009-06-18 11:59:49
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖

木叶清风

木虫 (正式写手)


sunxiao(金币+1,VIP+0):谢谢参与,欢迎常来 6-19 02:59
基本上是内存分配出问题了
www.cvdelver.com
3楼2009-06-18 13:03:18
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖

magic7004

金虫 (职业作家)

貌似是典型的数组越界导致的错误
流氓不可怕,可怕的是流氓有文化,有文化又BH的流氓无敌~~!
4楼2009-06-19 09:00:21
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖

wangen994

荣誉版主 (著名写手)

将军

是不是前后你的j值不一样啊
5楼2009-06-19 09:30:36
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖

ms98

★ ★ ★
wangen994(金币+2,VIP+0):楼主的数组范围在合理之中,应该如你所说,可能改动其他地方了,很好,欢迎交流 6-19 12:24
tc1788(金币+1,VIP+0):谢谢您 6-22 10:13
90%是内存越界。
lz使用数组,可是数组是不检查边界的。修改数组的下标很容易造成数组越界。
举个简单例子:
int a[10];  a[9] = 6;
然后改成 a[10] = 6;
因为数组下标按定义只能是0-9,引用a[10]造成了off-by-one的问题。编译的时候不检查边界,编译器不会发牢骚,但是运行的时候,数组越界,出现Access Violation的问题。
但从lz发的代码来看,数组下标的范围还是在合理范围内。lz可以检查一下改动过的其它代码。并且具体的问题要结合art和a的定义来看,光这么扔一堆上来大家一头雾水啊。
最简单的方法,将改动过的地方改回去,然后参照自己的改动,一次改动一个,编译运行。这样在改动到哪一步出问题就很明确了(注意该步骤是bug原因还是诱因要分清楚),可以帮助查错。
6楼2009-06-19 10:51:39
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖

magic7004

金虫 (职业作家)

或者搂住在每个函数的入口加上错误处理代码,抓到错误再说。或者在估计可能出错的地方用ASSERT宏
流氓不可怕,可怕的是流氓有文化,有文化又BH的流氓无敌~~!
7楼2009-06-22 09:41:01
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖

tc1788

铁虫 (小有名气)

谢谢

谢谢各位了 问题已经解决了
8楼2009-06-22 10:14:21
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖
相关版块跳转 我要订阅楼主 tc1788 的主题更新
普通表情 高级回复 (可上传附件)
信息提示
请填处理意见