递归火山软件开发平台

 找回密码
 立即注册

QQ登录

只需一步,快速开始

搜索
热搜: 火山 源码 类库
查看: 141|回复: 12
打印 上一主题 下一主题

[视窗] 莫名的数组错识闪退问题,修改了后不会闪退了,看回事

[复制链接]

17

主题

162

帖子

829

积分

高级会员

Rank: 4

积分
829
QQ
跳转到指定楼层
楼主
发表于 昨天 03:01 | 只看该作者 回帖奖励 |正序浏览 |阅读模式
本帖最后由 jcos 于 2026-2-26 03:06 编辑

做了一个中间件,平时测试时我会断开中间件的网,再测看看能不能返回无法访问的错误,也是正常。
但是用在项目中时,却闪退,检查了项目代码也找不到问题...

不过好在ide有提示,之后拿给ai修改后,就正常了

错误提示

运行时校验失败("D:\voldp25\plugins\vprj_win\classlib\sys\base\libs\win_base\include\vol_array.h", 95): IsIndexValid (npIndex)
被调试程序已经退出,退出码为0xC0000005.

反正我也不懂,用了ai修改后的,确实不闪崩了,望大神修复下,在下版本中更新上,谢谢。
以下是修改后的代码核心防崩溃)

                    

                        

                           

                           
正在渲染火山代码...

                        

                    

                    复制代码
               
:噜阿噜 道生易 易生万物 Q群1071098978
回复

使用道具 举报

473

主题

2万

帖子

4万

积分

超级版主

Rank: 8Rank: 8

积分
47474
QQ
13#
发表于 昨天 21:06 | 只看该作者
199 发表于 2026-2-26 14:47
养成习惯,所有读数组的操作前要先判断成员是否存在,就不会出现这个问题了 ...

多线程里面这样用没用,必须要加锁。
安卓无障碍课:点击查看
接安卓类库封装,需要的联系570828305
回复

使用道具 举报

30

主题

2774

帖子

9852

积分

核心用户

Rank: 9Rank: 9Rank: 9

积分
9852
12#
发表于 昨天 16:16 | 只看该作者
jcos 发表于 2026-2-26 13:57
都加锁的,多线程,实际都加锁成为单线程差不多了,就是上传那个位置不加锁,别的都是锁了 ...

多线程加锁是所有用到这个变量的地方都要上锁,包括主线程
回复

使用道具 举报

38

主题

260

帖子

2330

积分

核心用户

Rank: 9Rank: 9Rank: 9

积分
2330
11#
发表于 昨天 14:47 | 只看该作者
myadmin 发表于 2026-2-26 14:15
我也加了锁的,但他们都说我肯定是哪里漏锁了,就是找不到报错的位置。代码再三检查过,就是没发现哪里有 ...

养成习惯,所有读数组的操作前要先判断成员是否存在,就不会出现这个问题了
回复

使用道具 举报

14

主题

290

帖子

2820

积分

核心用户

Rank: 9Rank: 9Rank: 9

积分
2820
10#
发表于 昨天 14:44 | 只看该作者
既然都多线程了,是不是直接把数据写到单独内存中,然后通过参数传递,在使用完成最后释放
回复

使用道具 举报

26

主题

146

帖子

1011

积分

核心用户

Rank: 9Rank: 9Rank: 9

积分
1011
9#
发表于 昨天 14:15 | 只看该作者
Xelloss0618 发表于 2026-2-26 13:37
火山的数组没有严重bug,会闪退都是你们自己代码的问题,找不到问题只是你水平不够,或者错误在你引用的 ...

我也加了锁的,但他们都说我肯定是哪里漏锁了,就是找不到报错的位置。代码再三检查过,就是没发现哪里有漏锁的。我头都大了。
回复

使用道具 举报

17

主题

162

帖子

829

积分

高级会员

Rank: 4

积分
829
QQ
8#
 楼主| 发表于 昨天 13:57 来自手机 | 只看该作者
Xelloss0618 发表于 2026-2-26 10:46
数组是不会改的,这都是你代码逻辑上的问题,多线程下就得加锁

都加锁的,多线程,实际都加锁成为单线程差不多了,就是上传那个位置不加锁,别的都是锁了
回复

使用道具 举报

30

主题

2774

帖子

9852

积分

核心用户

Rank: 9Rank: 9Rank: 9

积分
9852
7#
发表于 昨天 13:37 | 只看该作者
myadmin 发表于 2026-2-26 13:05
啊,难不成我的也是这问题?完全跟你说的一模一样,我也找不到数组变量的来源。
https://bbs.voldp.com/thr ...

火山的数组没有严重bug,会闪退都是你们自己代码的问题,找不到问题只是你水平不够,或者错误在你引用的模块里。

再说一下,楼主用AI修改后的代码,虽然越界后取成员不会崩了,但取出来的值是错误的,这样你的程序也变得没有逻辑可言。
回复

使用道具 举报

26

主题

146

帖子

1011

积分

核心用户

Rank: 9Rank: 9Rank: 9

积分
1011
6#
发表于 昨天 13:05 | 只看该作者
啊,难不成我的也是这问题?完全跟你说的一模一样,我也找不到数组变量的来源。
https://bbs.voldp.com/thread-28671-1-1.html
回复

使用道具 举报

30

主题

2774

帖子

9852

积分

核心用户

Rank: 9Rank: 9Rank: 9

积分
9852
5#
发表于 昨天 10:46 | 只看该作者
jcos 发表于 2026-2-26 09:21
在数组加入成员前用了删除全部成员,之后循环加入成员。 应该是别的地方刚巧又访问了被删的成员造成。只是 ...

数组是不会改的,这都是你代码逻辑上的问题,多线程下就得加锁
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

QQ|Archiver|手机版|小黑屋|递归火山软件开发平台 ( 鄂ICP备18029190号 )

GMT+8, 2026-2-27 01:06 , Processed in 0.102779 second(s), 21 queries .

Powered by Discuz! X3.4

© 2001-2017 Comsenz Inc.

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