myadmin 发表于 2026-2-8 10:27:04

紧急求助:文本数组类 中断



先感谢大佬们,我在火山PC中IDE调试环境下运行的程序,运行大概2-3个小时左右,程序就会崩溃,然后中断在上图中的:370-386行的范围内;如此看来,是某个文本数组变量下标越界的问题,可中断在这里我也看不出来究竟是哪个文本数组变量导致的。我尝试按F8让它继续往下执行,可没任何反应。按F5键就直接停止了。

想请问下大佬,可否在这里面的某位置自己写代码,调试输出这个数组变量的地址啊?有了这个地址就可以对比找出是哪个变量引发的问题;因为整个程序用到的文本型数组太多了,要是直接在这里面输出变量的地址或是变量中成员的文本内容,就能很快的定位到是哪个变量引发的。小弟不会写代码,能否请大佬帮忙写一下?

Xelloss0618 发表于 2026-2-8 11:00:02

调试环境下,数组越界应该会抛出断言,停在这个位置就不一定了。
你先看看是不是多线程没有加锁。

myadmin 发表于 2026-2-8 11:04:03

Xelloss0618 发表于 2026-2-8 11:00
调试环境下,数组越界应该会抛出断言,停在这个位置就不一定了。
你先看看是不是多线程没有加锁。 ...

该加锁的地方,我都加了锁。但实际过程中,肯定就可能遇到其他异常情况了。所以这才让我头痛啊,因为文本数组类定义的地方太多了,一个一个去找,工作量实在是太大了。所以想,要是在这根源的地方,输出变量的内存地址,我用这个内存地址去对比就更精准、更快了。

小小小小鸟 发表于 2026-2-8 11:28:56

找找火山转VS工具,然后在VS里调试,就可以跟踪了

创世魂 发表于 2026-2-8 14:00:15

myadmin 发表于 2026-2-8 11:04
该加锁的地方,我都加了锁。但实际过程中,肯定就可能遇到其他异常情况了。所以这才让我头痛啊,因为文本 ...
仔细检查一下,可能有遗漏的。 这个没办法,只能一点点的的查。可以写日志,看看日志在哪里中断了,就打开知道是哪里的问题了。

朕的 发表于 2026-2-8 15:27:11

加个数组判断啊,越界后提示信息框
页: [1]
查看完整版本: 紧急求助:文本数组类 中断