我在cygwin下用G++编译成功的程序,在调试的时候会出现如下错误:
---------------------------------------------------------------------------------------
7 [sig] ttt 1460 open_stackdumpfile:Dumping stack trace to ttt.exe.stackdump
Program receive signal SIGSEGV,Segmentation fault.
[Switching to thread 1460.0xbcc]
0x000007d0 in ?? <>
---------------------------------------------------------------------------------------
当在gdb中用where命令查看错误时给出如下提示:
--------------------------------------------------------------------
#0 0x000007d0 in ?? <>
#1 0x00000000 in ?? <>
--------------------------------------------------------------------
其中ttt.exe是我编译后生成的一个可执行程序
并且该提示生成的同时产生了一个如下文件:
ttt.exe.stackdump
其内容如下:
------------------------------------------------------------------------------
Stack trace:
Frame Function Args
0022C2A8 7C802532 (000006DC, 0000EA60, 000000A4, 0022C2F0)
0022C3C8 6109773C (00000000, 7C8025F0, 7C802532, 000000A4)
0022C4B8 610952BB (00000000, 003B0023, 00230000, 6105744C)
0022C518 6109579B (0022C530, 00000000, 00000094, 610A0EAA)
0022C5D8 61095952 (000000DC, 00000006, 0022C608, 61095B52)
0022C5E8 6109597C (00000006, 600301DC, 0022C658, 00407273)
0022C608 61095B52 (0022C638, 007232B0, 0022C69C, 00000001)
0022C658 00407287 (007232B0, 0022C69C, 0022C718, 0040DBB5)
0022C668 00405C46 (007232B0, 0044A154, 00410FC0, 0022C700)
0022C718 0040DBB5 (00449264, 00000000, 004496DA, 0022CAB8)
0022C7A8 00433906 (00000000, FFFFFFFF, 0022C830, 00220000)
0022C7C8 00435C84 (0022CBD0, 00000000, 0022C830, 00449FD8)
0022C858 004018E7 (0022CBD0, 00722C5C, 00000008, 0022CC10)
0022CCB8 0040334A (00000001, 00722260, 00720090, 610BE827)
0022CD98 61006198 (00000000, 0022CDD0, 61005510, 0022CDD0)
61005510 61004416 (0000009C, A02404C7, E8611001, FFFFFF48)
End of stack trace (more stack frames may be present)
---------------------------------------------------------------------------------
请问这是是什么原因啊?所产生文件是个什么东西啊?请大侠指点!
后来我查了下,问题出在下面这个语句上:
vector<callevent> vec_call;
其中,callevent是我定义的一个类,
这样用应该没错的啊,不晓得什么原因,
向大家请教!
谢谢!