版块导航
正在加载中...
客户端APP下载
论文辅导
申博辅导
登录
注册
帖子
帖子
用户
本版
应《网络安全法》要求,自2017年10月1日起,未进行实名认证将不得使用互联网跟帖服务。为保障您的帐号能够正常使用,请尽快对帐号进行手机号验证,感谢您的理解与支持!
24小时热门版块排行榜
>
论坛更新日志
(563)
>
虫友互识
(76)
>
导师招生
(18)
>
硕博家园
(9)
>
论文投稿
(7)
>
基金申请
(5)
>
考博
(5)
>
文献求助
(5)
>
博后之家
(4)
>
休闲灌水
(4)
>
论文道贺祈福
(3)
>
催化
(3)
>
公派出国
(3)
>
考研
(3)
>
外文书籍求助
(2)
>
教师之家
(2)
小木虫论坛-学术科研互动平台
»
计算模拟区
»
程序语言
»
C/C++
»
今天碰到的一个bug
11
1/1
返回列表
查看: 1004 | 回复: 10
只看楼主
@他人
存档
新回复提醒
(忽略)
收藏
在APP中查看
wangww2011
木虫
(著名写手)
程序强帖: 13
应助: 11
(小学生)
金币: 4023.1
帖子: 1915
在线: 1537.1小时
虫号: 772953
[交流]
今天碰到的一个bug
今天根据一个同学的要求把以前的一个代码修改了一下就发过去了,后来自己拿这个代码去算另一位同学发来的文件,发现提示内存不足,遂把体系改小,依旧报错,在想是不是今天把代码改坏了,又检查了一下代码,其实今天只是加了一个函数,原来的都没有动,我也就是用if语句判断了下,后来发现问题就出在这里了,到现在还是不知道为什么。我重新写了个文件,并没有发现问题。
CODE:
#include
using namespace std;
class TestBug {
private:
mutable int x;
public:
void print() const;
};
void TestBug::print() const {
x = -1;
int y=x;
if (x > 0) {
cout << "x=" << x << endl;
}
if (y > 0) {
cout << "y=" << y << endl;
}
}
int main() {
TestBug tb;
tb.print();
return 0;
}
正确的结果是什么都不输出呗(当然上面的代码是没有问题的),但在原代码中bug的结果是
CODE:
x=-1
我只能感叹太复杂的东西真的是会出错的,我重新定义一个本地变量,代码正常了,我很想知道为啥,因为原代码从逻辑上根本没有问题。
[
Last edited by wangww2011 on 2012-5-29 at 02:20
]
回复此楼
» 猜你喜欢
求助:我三月中下旬出站,青基依托单位怎么办?
已经有10人回复
26申博(荧光探针方向,有机合成)
已经有4人回复
要不要辞职读博?
已经有3人回复
论文终于录用啦!满足毕业条件了
已经有26人回复
2026年机械制造与材料应用国际会议 (ICMMMA 2026)
已经有4人回复
磺酰氟产物,毕不了业了!
已经有6人回复
Cas 72-43-5需要30g,定制合成,能接单的留言
已经有8人回复
北京211副教授,35岁,想重新出发,去国外做博后,怎么样?
已经有8人回复
自荐读博
已经有3人回复
不自信的我
已经有5人回复
高级回复
» 本主题相关价值贴推荐,对您同样有帮助:
奶奶的,气死我了
已经有23人回复
今天看到国内实验室的一篇文章,桑心啊。。。。
已经有56人回复
求助 origin作图不能输出图片——已解决
已经有9人回复
被一个审稿人提了9条意见,还有戏吗?
已经有40人回复
» 抢金币啦!回帖就可以得到:
查看全部散金贴
求一个访问学者邀请函,非常非常感谢
+
1
/679
博士去军队文职怎么样
+
5
/245
科瑞赛生物内皮细胞培养基试用装限时大放送,助力你的实验高效进阶!
+
1
/84
内蒙古大学能源材料化学研究院招聘2026年博士生
+
1
/75
国重点实验室双一流A类长江学者团队招2026年全日制博士1-2名/博后1-2名
+
2
/44
坐标济南,山东农科院招 有机合成 or 药物化学 联培硕士研究生
+
1
/37
西北工业大学无人飞行器技术全国重点实验室拟招收电机/自动化方向博士1~2名
+
1
/30
征女友 @长安
+
1
/21
福建师范大学柔性电子学院招收2026年博士(储能材料与柔性电子器件)
+
2
/18
2026年黄河科技学院纳米功能材料研究所招聘
+
2
/14
信息工程大学教授团队网络空间安全专业博士招生【2026年1月31日报名截止】
+
1
/13
吉林大学材料物理本科生求问调剂信息
+
1
/11
南京林业大学 国家级人才团队 招收 生物信息学和生物学相关专业2026级博士生3-4名
+
1
/8
上海交通大学环境学院(环境化学与环境毒理学;大数据与人工智能)博士后招聘~
+
1
/7
美国麻省大学电子工程系招收全奖博士生和博士后
+
1
/7
香港科技大学 Abhishek Kumar Srivastava 教授课题组 招收博士生
+
2
/6
代算!材料学理论计算
+
1
/3
中科院动物所招收2026年博士生(优先少干专项计划、化学或生命科学背景)
+
1
/3
求博导收留
+
1
/1
电子科技大学激光与光子制造团队招硕士博士
+
1
/1
1楼
2012-05-29 02:12:23
已阅
回复此楼
关注TA
给TA发消息
送TA红花
TA的回帖
nbjnh
木虫
(正式写手)
应助: 14
(小学生)
金币: 4668.8
帖子: 556
在线: 218.6小时
虫号: 1103994
★
wangww2011(金币+1): 谢谢参与
我把楼主那段代码编译、运行了一遍,没有任何问题。我用的是VS2008。
赞
一下
回复此楼
3楼
2012-05-29 08:19:26
已阅
回复此楼
关注TA
给TA发消息
送TA红花
TA的回帖
devymex
捐助贵宾
(初入文坛)
应助: 0
(幼儿园)
金币: 14.5
帖子: 13
在线: 2.3小时
虫号: 1327272
★
wangww2011(金币+1): 谢谢参与
有可能是别的地方把栈写坏了(过界写入)。建议在int y=x;处设断点单步调试,跟踪x变量的值,看看哪里发生了改变。
赞
一下
回复此楼
4楼
2012-05-29 11:12:50
已阅
回复此楼
关注TA
给TA发消息
送TA红花
TA的回帖
wangww2011
木虫
(著名写手)
程序强帖: 13
应助: 11
(小学生)
金币: 4023.1
帖子: 1915
在线: 1537.1小时
虫号: 772953
引用回帖:
3楼
:
Originally posted by
nbjnh
at 2012-05-29 08:19:26
我把楼主那段代码编译、运行了一遍,没有任何问题。我用的是VS2008。
上面的代码确实没有什么问题的,但是原代码的确会出现问题,而且是第二次运行时出现问题。
赞
一下
回复此楼
5楼
2012-05-29 19:55:45
已阅
回复此楼
关注TA
给TA发消息
送TA红花
TA的回帖
wangww2011
木虫
(著名写手)
程序强帖: 13
应助: 11
(小学生)
金币: 4023.1
帖子: 1915
在线: 1537.1小时
虫号: 772953
引用回帖:
4楼
:
Originally posted by
devymex
at 2012-05-29 11:12:50
有可能是别的地方把栈写坏了(过界写入)。建议在int y=x;处设断点单步调试,跟踪x变量的值,看看哪里发生了改变。
回头调试下吧,有点小麻烦的是程序必须用tcl载入,回头看看如何调试。
原来tclsh也一样,可以直接载入,呵呵
[
Last edited by wangww2011 on 2012-5-29 at 20:14
]
赞
一下
回复此楼
6楼
2012-05-29 20:00:29
已阅
回复此楼
关注TA
给TA发消息
送TA红花
TA的回帖
nebulaly
木虫
(著名写手)
应助: 7
(幼儿园)
金币: 4170.1
帖子: 1311
在线: 410.5小时
虫号: 910959
★
wangww2011(金币+1): 谢谢参与
可能是多线程的问题
赞
一下
回复此楼
7楼
2012-05-30 00:19:48
已阅
回复此楼
关注TA
给TA发消息
送TA红花
TA的回帖
wangww2011
木虫
(著名写手)
程序强帖: 13
应助: 11
(小学生)
金币: 4023.1
帖子: 1915
在线: 1537.1小时
虫号: 772953
引用回帖:
7楼
:
Originally posted by
nebulaly
at 2012-05-30 00:19:48
可能是多线程的问题
也不是 我把线程关了 编译的单线程
赞
一下
回复此楼
8楼
2012-05-30 02:43:41
已阅
回复此楼
关注TA
给TA发消息
送TA红花
TA的回帖
xl1247644534
铜虫
(小有名气)
应助: 0
(幼儿园)
金币: 329.1
帖子: 128
在线: 16.7小时
虫号: 1320111
★
wangww2011(金币+1): 谢谢参与
在coldblocks 中用 gcc编译器编译没有问题
赞
一下
回复此楼
9楼
2012-06-03 05:47:11
已阅
回复此楼
关注TA
给TA发消息
送TA红花
TA的回帖
gov_sb
新虫
(初入文坛)
应助: 2
(幼儿园)
金币: 0.8
帖子: 5
在线: 35分钟
虫号: 1846519
★
wangww2011(金币+1): 谢谢参与
if (x > 0)
活生生的怀疑是这里的问题,
-1在内存里是 0xFFFFFFFF ,它既可以表示负数-1 ,也可以表示个很大的正数
估计是判断的时候,悲剧掉了。
这是编译器的问题
赞
一下
回复此楼
10楼
2012-06-04 19:59:38
已阅
回复此楼
关注TA
给TA发消息
送TA红花
TA的回帖
简单回复
fengmeiyi
2楼
2012-05-29 05:32
回复
wangww2011(金币+1): 谢谢参与
zhanglover
11楼
2012-06-04 22:24
回复
wangww2011(金币+1): 谢谢参与
相关版块跳转
第一性原理
量子化学
计算模拟
分子模拟
仿真模拟
程序语言
我要订阅楼主
wangww2011
的主题更新
11
1/1
返回列表
如果回帖内容含有宣传信息,请如实选中。否则帐号将被全论坛禁言
普通表情
龙
兔
虎
猫
高级回复
(可上传附件)
百度网盘
|
360云盘
|
千易网盘
|
华为网盘
在新窗口页面中打开自己喜欢的网盘网站,将文件上传后,然后将下载链接复制到帖子内容中就可以了。
信息提示
关闭
请填处理意见
关闭
确定