|
|
|
|
 非常奇怪的segment fault - dengyl [ 2006-03-22 10:57 | 377 byte(s)]
 Re: 非常奇怪的Segmentation fault - dengyl [ 2006-03-22 11:17 | 1,247 byte(s)]
 Re: 非常奇怪的Segmentation fault - cjhsh [ 2006-03-22 17:19 | 19 byte(s)]
|
|
|
|
[Original]
[Print]
[Top]
|
在我的应用程序中,当进入一个类的成员函数时,发生segment fault,
奇怪的是,gdb没有办法调试,错误不是发生在执行某条语句时,而是
在进入该函数的时候发生。
也就是说,在gdb中,在调用该函数的语句设断点,当gdb在该断点成功
停下来时,再执行s命令,就马上发生segment fault
而使用这个类的测试程序工作正常。
|
|
|
----
将平凡的事做得不平凡。
|
|
[Original]
[Print]
[Top]
|
|
[Original]
[Print]
[Top]
|
调试信息如下:
Breakpoint 1, on_button_format_clicked (button=0x83ad078, data=0x0) at etc.cpp:227
227 dvrfs.CreateDVRFileSystem(DVRFS_PATH,"data",DVRFS_INDEX,100,0x50000,"Auto",format_process);
(gdb) s
GCFFileSystem::CreateDVRFileSystem (this=0xbfebed30, path=0x811605e "/var/dvrfs/", rootname=0x8116059 "data",
indexfilename=0x811604f "rover.idx", numfiles=100, filesize=327680, comments=0x811604a "Auto",
callback=0x8063f36 <format_process>) at dvrfs.cpp:1714
1714 file = 100;
(gdb) n
Program received signal SIGSEGV, Segmentation fault.
GCFFileSystem::CreateDVRFileSystem (this=0xbfebed30, path=0x811605e "/var/dvrfs/", rootname=0x8116059 "data",
indexfilename=0x811604f "rover.idx", numfiles=100, filesize=327680, comments=0x811604a "Auto",
callback=0x8063f36 <format_process>) at dvrfs.cpp:1714
1714 file = 100;
(gdb)
跟我之前说的有点出入,是进入函数,执行第一条语句时segmentation fault.
|
|
|
----
将平凡的事做得不平凡。
|
|
[Original]
[Print]
[Top]
|
|
|