常见bug总结

博主在调试新的路径搜索算法时,编译通过但在debug版本运行时出现damage错误。经检查发现是申请的vector<>大小给错,因vector会自动增长,导致有时莫名出错且编译器无法检查出来。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

1。damage错误

在调试我的新的路径搜索算法的时候,编译通过,但是在(debug版本)运行时出现下述问题,后来察觉是我申请的一个vector<>的大小给错了,又因为vector会自动增长,因此会有时莫名其妙出错,而编译器检查不出来。

请问damage错误是怎么回事呢?
发信站:水木社区(WedAug3120:29:392005),站内

请问附件中这个错误是怎么回事呢?

--

※来源:·水木社区http://newsmth.net·[FROM:61.167.60.*]


此主题相关图片如下:bug.bmp (272802 字节)

[本篇全文] [回复文章] [回信给作者] [本篇作者:jiangfei] [进入讨论区] [返回顶部] 2
发信人:jiangfei(afei),信区:VisualC
标题:Re:请问damage错误是怎么回事呢?
发信站:水木社区(WedAug3120:56:022005),站内

在一个for循环的最后就弹出这个提示,不只是为什么?
【在jiangfei(afei)的大作中提到:】
:请问附件中这个错误是怎么回事呢?



--

※来源:·水木社区http://newsmth.net·[FROM:61.167.60.*]


[本篇全文] [回复文章] [回信给作者] [本篇作者:allanj] [进入讨论区] [返回顶部] 3
发信人:allanj(何处可以停留),信区:VisualC
标题:Re:请问damage错误是怎么回事呢?
发信站:水木社区(WedAug3121:02:312005),站内

你直接或间接使用了free()

free()发现你破坏了这块内存.

【在jiangfei(afei)的大作中提到:】
:请问附件中这个错误是怎么回事呢?


--

※来源:·水木社区newsmth.net·[FROM:221.218.137.37]


[本篇全文] [回复文章] [回信给作者] [本篇作者:allanj] [进入讨论区] [返回顶部] 4
发信人:allanj(何处可以停留),信区:VisualC
标题:Re:请问damage错误是怎么回事呢?
发信站:水木社区(WedAug3121:20:162005),站内

看不懂.
还是点那个"重试"调试一下,看一下堆栈列表,停在那里.

[本篇全文] [回复文章] [回信给作者] [本篇作者:jiangfei] [进入讨论区] [返回顶部] 2
发信人:jiangfei(afei),信区:VisualC
标题:Re:请问damage错误是怎么回事呢?
发信站:水木社区(WedAug3120:56:022005),站内

在一个for循环的最后就弹出这个提示,不只是为什么?
【在jiangfei(afei)的大作中提到:】
:请问附件中这个错误是怎么回事呢?



--

※来源:·水木社区http://newsmth.net·[FROM:61.167.60.*]


[本篇全文] [回复文章] [回信给作者] [本篇作者:allanj] [进入讨论区] [返回顶部] 3
发信人:allanj(何处可以停留),信区:VisualC
标题:Re:请问damage错误是怎么回事呢?
发信站:水木社区(WedAug3121:02:312005),站内

你直接或间接使用了free()

free()发现你破坏了这块内存.

【在jiangfei(afei)的大作中提到:】
:请问附件中这个错误是怎么回事呢?


--

※来源:·水木社区newsmth.net·[FROM:221.218.137.37]


[本篇全文] [回复文章] [回信给作者] [本篇作者:allanj] [进入讨论区] [返回顶部] 4
发信人:allanj(何处可以停留),信区:VisualC
标题:Re:请问damage错误是怎么回事呢?
发信站:水木社区(WedAug3121:20:162005),站内

看不懂.
还是点那个"重试"调试一下,看一下堆栈列表,停在那里.
### MATLAB 中常见 Bug 及其解决方案 在使用 MATLAB 进行编程时,遇到一些常见的错误是不可避免的。了解这些错误的原因以及如何解决它们对于提高开发效率至关重要。 #### 语法错误 MATLAB 对大小写敏感,在编写函数名、变量名时需要注意区分大小写。如果输入的名字不匹配定义的名字,则会抛出未识别的函数或变量错误[^1]。 ```matlab % 错误示例:试图调用不存在的小写字母命名的函数 myfunction(); ``` #### 矩阵维度不一致 当尝试执行矩阵运算而两个矩阵的尺寸不符合操作要求时会发生此错误。确保参与加法、减法或者乘法等二元运算符两侧的操作数具有兼容的形状非常重要。 ```matlab A = ones(3, 4); B = rand(4, 5); C = A * B; % 此处将报错因为无法相乘不同维度的矩阵 ``` #### 下标越界 访问数组元素超出范围也会引发异常。检查索引是否超出了实际存在的最大下标值可以有效预防此类问题的发生。 ```matlab vec = [0 1]; disp(vec(3)); % 尝试显示第三个元素但是 vec 数组只有两个成员 ``` #### 文件路径问题 读取文件失败可能是由于指定了相对路径而非绝对路径造成的。建议始终采用完整的文件位置描述来规避潜在的风险因素。 ```matlab data = load('relative/path/to/file.mat'); % 使用相对路径可能导致加载失败 ``` #### 图形窗口句柄丢失 关闭图形界面之后继续对其进行更新可能会引起警告信息甚至崩溃现象。因此应当确认目标对象仍然存在再做进一步处理动作。 ```matlab figure; plot(randn(10)); close all; hold on; % hold 命令作用于已关闭的对象上会产生不良后果 ``` 通过上述介绍可知,掌握基本调试技巧并熟悉官方文档有助于快速定位并修复程序中的缺陷之处。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值