24小时热门版块排行榜    

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

Eric0201

新虫 (初入文坛)

[求助] new对象的时候失败

各位前辈,我现在遇到一个很奇怪的问题。我的程序之前是在windows环境下的visual studio下面编译调试运行的,没有出现错误。现在在Linux环境下,利用g++来调试和运行出现了些问题。程序编译通过后,运行时会发生错误。Backtrace以后的错误提示如下:

#0  0x00000032a02703cb in malloc_consolidate () from /lib64/libc.so.6

#1  0x00000032a0272a6c in _int_malloc () from /lib64/libc.so.6

#2  0x00000032a0274cde in malloc () from /lib64/libc.so.6

#3  0x00000032a66bd17d in operator new(unsigned long) ()   from /usr/lib64/libstdc++.so.6

#4  0x00000032a66bd299 in operator new[](unsigned long) ()   from /usr/lib64/libstdc++.so.6

#5  0x00000000004047e5 in _rule_pool_unit::_rule_pool_unit (this=0x65c8f0,     n=150) at RuleDef.h:322

#6  0x0000000000404cd3 in _rule_pool::_rule_pool (this=0x643f70, cid=0,    dlimit=8, anum=150) at RuleDef.h:682

#7  0x00000000004082b4 in trade (mode=1,    inputDir=0x7fffffffe6e0 "./binaryData/387",    outputDir=0x7fffffffe740 "./output/387",    tradeDir=0x7fffffffe710 "./trade/387", typeDetect=0) at Classifier.h:103

#8  0x0000000000404336 in main () at Main.cpp:154

从上面的错误提示可以看出,#5、#6、#7的问题是在生成对象的时候发生错误。这里所生成的对象有一个3层的递归关系,就是#7处要生成的对象需要先生成#6处的对象,#6处的对象需要生成#5处的对象。另外又是一个对象数组。是不是因为这个原因所以生成对象需要较大的堆栈内存从而造成了失败呢?

各位前辈有没有遇到过这样的问题的?谢谢!
回复此楼
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖

wangybcn

禁虫 (正式写手)

★ ★ ★ ★ ★ ★ ★ ★ ★ ★
Eric0201: 金币+10, ★★★很有帮助 2012-08-07 00:42:07
本帖内容被屏蔽

7楼2012-08-06 08:10:11
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖
查看全部 8 个回答

liuhuisfp

金虫 (小有名气)

【答案】应助回帖

感谢参与,应助指数 +1
看到都是在malloc时出错, 应该是堆栈溢出的原因。
用ulimit -a 看看当前栈的大小是不是太小了

用ulimit -s num设定一个比较大的值再试试看
2楼2012-08-03 16:00:54
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖

Eric0201

新虫 (初入文坛)

引用回帖:
2楼: Originally posted by liuhuisfp at 2012-08-03 16:00:54
看到都是在malloc时出错, 应该是堆栈溢出的原因。
用ulimit -a 看看当前栈的大小是不是太小了

用ulimit -s num设定一个比较大的值再试试看

试过了,改成unlimited以后也还是不行。。。
3楼2012-08-04 08:52:20
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖

liuhuisfp

金虫 (小有名气)

引用回帖:
3楼: Originally posted by Eric0201 at 2012-08-04 08:52:20
试过了,改成unlimited以后也还是不行。。。...

你改为一个比较大的值试试
4楼2012-08-04 11:27:46
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖
信息提示
请填处理意见