Re: how to debug "segment fault" problem in kdevelop?



On Sun, Apr 26, 2009 at 2:40 PM, Boyd Stephen Smith Jr.
<bss@xxxxxxxxxxxxxxxxx> wrote:
In <6a8fced30904251059g77a533c2yf94d6b66d6a630dd@xxxxxxxxxxxxxx>, 明覺 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.
thank you for the information, it seems to be caused by the mesa libs
which is the implementation of opengl, for after I replace the
libGL***.so by installing nvidia video card driver from Nividia
company(not free software), the applications can run normally. thanks.

-------------------------------------------------------------------------
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@xxxxxxxxxxxxxxxxx ((_/)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.



--
To UNSUBSCRIBE, email to debian-user-REQUEST@xxxxxxxxxxxxxxxx
with a subject of "unsubscribe". Trouble? Contact listmaster@xxxxxxxxxxxxxxxx



Relevant Pages