In <[🔎] 6a8fced30904251059g77a533c2yf94d6b66d6a630dd@mail.gmail.com>, 明覺 wrote: >I download the k3dsurf project(a kdevelop project) and compiled it in >kdevelop successfully, but when i run it, it says "segment fault", how >could I debug it? thanks. here is the gdb info: This list isn't quite correct for this question. You may want to use a mailing list, newsgroup, or other forum specifically for k3dsurf, or possibly kde-devel. Tracking down a SIGSEGV is often the role of a developer[1], and this list is not developer-oriented. That said, SIGSEGV is generally sent to the process by the kernel when it attempts to access a page of memory that it doesn't have a mapping for -- usually caused by dereferrencing a NULL or invalid pointer, but also common if the program is not linked correctly. >------------------------------------------------------------------------- >This GDB was configured as "x86_64-linux-gnu". >For bug reporting instructions, please see: ><http://www.gnu.org/software/gdb/bugs/>... >(gdb) run >Starting program: /root/workspace/C++/k3dsurf/bin/k3dsurf >[Thread debugging using libthread_db enabled] > >Program received signal SIGSEGV, Segmentation fault. >0x00007ffff5d74a60 in ?? () from /lib/libc.so.6 >(gdb) bt >#0 0x00007ffff5d74a60 in ?? () from /lib/libc.so.6 >#1 0x00007ffff6ec4651 in glXWaitX () from /usr/lib/libGL.so.1 >#2 0x00007ffff790c2a1 in QGLWidget::resizeEvent(QResizeEvent*) () > from /usr/lib/libqt-mt.so.3 >#3 0x00007ffff772f07b in QWidget::event(QEvent*) () > from /usr/lib/libqt-mt.so.3 >#4 0x00007ffff76a8953 in QApplication::internalNotify(QObject*, QEvent*) > () from /usr/lib/libqt-mt.so.3 >#5 0x00007ffff76a962e in QApplication::notify(QObject*, QEvent*) () > from /usr/lib/libqt-mt.so.3 >#6 0x00007ffff76aa03a in QApplication::sendPostedEvents(QObject*, int) () > from /usr/lib/libqt-mt.so.3 >#7 0x00007ffff773018d in QWidget::show() () from /usr/lib/libqt-mt.so.3 >#8 0x00007ffff772e5d1 in QWidget::showChildren(bool) () > from /usr/lib/libqt-mt.so.3 >#9 0x00007ffff7730260 in QWidget::show() () from /usr/lib/libqt-mt.so.3 >#10 0x00007ffff772e5d1 in QWidget::showChildren(bool) () > from /usr/lib/libqt-mt.so.3 >#11 0x00007ffff7730260 in QWidget::show() () from /usr/lib/libqt-mt.so.3 >#12 0x00007ffff78193c9 in QWidgetStack::show() () from > /usr/lib/libqt-mt.so.3 #13 0x00007ffff772e5d1 in > QWidget::showChildren(bool) () > from /usr/lib/libqt-mt.so.3 >#14 0x00007ffff7730260 in QWidget::show() () from /usr/lib/libqt-mt.so.3 >------------------ If this backtrace is correct and complete it looks like a bug in Qt, but it could also be caused by misuse of Qt by the application. If you have no other ideas, you should try reducing the application to a minimal test case. As part of that process you'll probably find a misuse of the library, but you may complete that process and be able to file a high-quality bug report against Qt. -- Boyd Stephen Smith Jr. ,= ,-_-. =. bss@iguanasuicide.net ((_/)o o(\_)) ICQ: 514984 YM/AIM: DaTwinkDaddy `-'(. .)`-' http://iguanasuicide.net/ \_/ [1] You'll need to understand the programming language the program was written in at least, and maybe the implementation language of associated libraries as well.
Attachment:
signature.asc
Description: This is a digitally signed message part.