当前位置: 技术问答>linux和unix
unix c++编程中遇到的coredump问题
来源: 互联网 发布时间:2015-12-11
本文导语: 这个程序是多线程的,我无法定位到是哪里出现的错误,通常这个是什么引起的,高手们帮忙解决一下,具体的core用dbx调试如下. (dbx) where free_y(??, ??) at 0xd01ec4a0 free_y_heap(??) at 0xd01ec8f4 __dl__FPv(??) at 0xd49c055c DataClassify()(...
这个程序是多线程的,我无法定位到是哪里出现的错误,通常这个是什么引起的,高手们帮忙解决一下,具体的core用dbx调试如下.
(dbx) where
free_y(??, ??) at 0xd01ec4a0
free_y_heap(??) at 0xd01ec8f4
__dl__FPv(??) at 0xd49c055c
DataClassify()(0x20610068), line 267 in "Hwstpclient.cpp"
MsgReceiver()(0x20610068), line 59 in "Hwstpclient.cpp"
run()(0x20610068), line 70 in "Hwstpclient.cpp"
run__6ThreadFPv(0x20610068) at 0x100183f8
(dbx) where
free_y(??, ??) at 0xd01ec4a0
free_y_heap(??) at 0xd01ec8f4
__dl__FPv(??) at 0xd49c055c
DataClassify()(0x20610068), line 267 in "Hwstpclient.cpp"
MsgReceiver()(0x20610068), line 59 in "Hwstpclient.cpp"
run()(0x20610068), line 70 in "Hwstpclient.cpp"
run__6ThreadFPv(0x20610068) at 0x100183f8
|
http://blog.chinaunix.net/u/6593/showart.php?id=150292
|
虽然我看不懂你的代码,但是这个问题我遇到了好多次,
你看看你定义的数组在赋值的时候有没有越界,或者你定义的指针在使用的时候有问题
你看看你定义的数组在赋值的时候有没有越界,或者你定义的指针在使用的时候有问题
|
内存越界,检查指针。
|
内存问题。用GDB或加调试语句(如printf)跟踪吧
|
我想首先应该从信号入手,应该知道程序是由那个信号导致中止的,这样便于分析问题