24小时热门版块排行榜    

查看: 1094  |  回复: 10
当前只显示满足指定条件的回帖,点击这里查看本话题的所有回帖

wangww2011

木虫 (著名写手)


[交流] 今天碰到的一个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 ]
回复此楼

» 猜你喜欢

» 本主题相关价值贴推荐,对您同样有帮助:

» 抢金币啦!回帖就可以得到:

查看全部散金贴

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

nbjnh

木虫 (正式写手)



wangww2011(金币+1): 谢谢参与
我把楼主那段代码编译、运行了一遍,没有任何问题。我用的是VS2008。
3楼2012-05-29 08:19:26
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖
查看全部 11 个回答

devymex

捐助贵宾 (初入文坛)



wangww2011(金币+1): 谢谢参与
有可能是别的地方把栈写坏了(过界写入)。建议在int y=x;处设断点单步调试,跟踪x变量的值,看看哪里发生了改变。
4楼2012-05-29 11:12:50
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖

wangww2011

木虫 (著名写手)


引用回帖:
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

木虫 (著名写手)


引用回帖:
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的回帖
普通表情 高级回复 (可上传附件)
最具人气热帖推荐 [查看全部] 作者 回/看 最后发表
[考研] 303求调剂 +3 睿08 2026-03-17 5/250 2026-03-17 22:01 by 睿08
[考研] 0703化学调剂 ,六级已过,有科研经历 +8 曦熙兮 2026-03-15 8/400 2026-03-17 20:31 by xilongliang
[考研] 本人考085602 化学工程 专硕 +16 不知道叫什么! 2026-03-15 18/900 2026-03-17 17:05 by ruiyingmiao
[考研] 332求调剂 +6 Zz版 2026-03-13 6/300 2026-03-17 17:03 by ruiyingmiao
[考研] 274求调剂0856材料化工 +13 z2839474511 2026-03-11 14/700 2026-03-17 16:51 by share_joy
[考研] 有没有道铁/土木的想调剂南林,给自己招师弟中~ +3 TqlXswl 2026-03-16 7/350 2026-03-17 15:23 by TqlXswl
[考研] 一志愿苏州大学材料工程(085601)专硕有科研经历三项国奖两个实用型专利一项省级立项 +6 大火山小火山 2026-03-16 8/400 2026-03-17 15:05 by 无懈可击111
[考研] 271求调剂 +12 生如夏花… 2026-03-11 14/700 2026-03-17 10:56 by lovewei0727
[考研] 085600调剂 +5 漾漾123sun 2026-03-12 6/300 2026-03-16 15:58 by 漾漾123sun
[考研] 机械专硕调剂 +3 笨笨兔子 2026-03-12 3/150 2026-03-15 20:02 by 栗子粥?
[考研] 复试调剂 +4 z1z2z3879 2026-03-14 5/250 2026-03-14 16:30 by JourneyLucky
[考研] 一志愿哈工大材料324分求调剂 +5 闫旭东 2026-03-14 5/250 2026-03-14 14:53 by 木瓜膏
[考研] 学硕285求调剂 +13 Wisjxn 2026-03-12 46/2300 2026-03-14 10:33 by JourneyLucky
[考研] 26调剂/材料/英一数二/总分289/已过A区线 +6 步川酷紫123 2026-03-13 6/300 2026-03-13 21:59 by 星空星月
[考研] 工科,求调剂 +3 我887 2026-03-11 3/150 2026-03-13 21:39 by JourneyLucky
[考研] 314求调剂 +7 无懈可击的巨人 2026-03-12 7/350 2026-03-13 15:40 by JourneyLucky
[考研] 295求调剂 +3 小匕仔汁 2026-03-12 3/150 2026-03-13 15:17 by vgtyfty
[考研] 290求调剂 +7 ADT 2026-03-12 7/350 2026-03-13 15:17 by JourneyLucky
[考研] 0817化学工程与技术考研312分调剂 +3 T123 tt 2026-03-12 3/150 2026-03-13 10:49 by houyaoxu
[考研] 270求调剂 085600材料与化工专硕 +3 YXCT 2026-03-11 3/150 2026-03-13 10:13 by houyaoxu
信息提示
请填处理意见