I've found how to use the debugger with FreeBSD,
I need to compile amule with this make command:
gmake COPT="-g"
and after a crash, I need to open the core file with the bin file like that:
gdb /path/to/bin/amule --core=/path/to/core/amule.core
In my case, I've got this output:
[olivier@dev ~]$ gdb amule-cvs/bin/amule --core=amule.core
GNU gdb 6.1.1 [FreeBSD]
Copyright 2004 Free Software Foundation, Inc.
GDB is free software, covered by the GNU General Public License, and you are
welcome to change it and/or distribute copies of it under certain conditions.
Type "show copying" to see the conditions.
There is absolutely no warranty for GDB. Type "show warranty" for details.
This GDB was configured as "i386-marcel-freebsd"...
Core was generated by `amule'.
Program terminated with signal 6, Aborted.
Reading symbols from /lib/libpthread.so.2...done.
Loaded symbols for /lib/libpthread.so.2
Reading symbols from /usr/X11R6/lib/libwx_gtk2u_adv-2.8.so.0...done.
Loaded symbols for /usr/X11R6/lib/libwx_gtk2u_adv-2.8.so.0
Reading symbols from /usr/X11R6/lib/libwx_gtk2u_core-2.8.so.0...done.
Loaded symbols for /usr/X11R6/lib/libwx_gtk2u_core-2.8.so.0
Reading symbols from /usr/X11R6/lib/libwx_baseu_net-2.8.so.0...done.
Loaded symbols for /usr/X11R6/lib/libwx_baseu_net-2.8.so.0
Reading symbols from /usr/X11R6/lib/libwx_baseu-2.8.so.0...done.
Loaded symbols for /usr/X11R6/lib/libwx_baseu-2.8.so.0
Reading symbols from /lib/libz.so.3...done.
Loaded symbols for /lib/libz.so.3
Reading symbols from /usr/lib/libstdc++.so.5...done.
Loaded symbols for /usr/lib/libstdc++.so.5
Reading symbols from /lib/libm.so.4...done.
Loaded symbols for /lib/libm.so.4
Reading symbols from /lib/libc.so.6...done.
Loaded symbols for /lib/libc.so.6
Reading symbols from /usr/local/lib/libgstreamer-0.10.so.0...done.
Loaded symbols for /usr/local/lib/libgstreamer-0.10.so.0
Reading symbols from /usr/local/lib/libgmodule-2.0.so.0...done.
Loaded symbols for /usr/local/lib/libgmodule-2.0.so.0
Reading symbols from /usr/local/lib/libxml2.so.5...done.
Loaded symbols for /usr/local/lib/libxml2.so.5
Reading symbols from /usr/local/lib/libgconf-2.so.4...done.
Loaded symbols for /usr/local/lib/libgconf-2.so.4
Reading symbols from /usr/local/lib/libORBit-2.so.0...done.
Loaded symbols for /usr/local/lib/libORBit-2.so.0
Reading symbols from /usr/local/lib/libgthread-2.0.so.0...done.
Loaded symbols for /usr/local/lib/libgthread-2.0.so.0
Reading symbols from /usr/local/lib/libgobject-2.0.so.0...done.
Loaded symbols for /usr/local/lib/libgobject-2.0.so.0
Reading symbols from /usr/local/lib/libglib-2.0.so.0...done.
Loaded symbols for /usr/local/lib/libglib-2.0.so.0
Reading symbols from /usr/local/lib/libiconv.so.3...done.
Loaded symbols for /usr/local/lib/libiconv.so.3
Reading symbols from /usr/local/lib/libgstinterfaces-0.10.so.0...done.
Loaded symbols for /usr/local/lib/libgstinterfaces-0.10.so.0
Reading symbols from /usr/local/lib/libgtk-x11-2.0.so.0...done.
Loaded symbols for /usr/local/lib/libgtk-x11-2.0.so.0
Reading symbols from /usr/local/lib/libgdk-x11-2.0.so.0...done.
Loaded symbols for /usr/local/lib/libgdk-x11-2.0.so.0
Reading symbols from /usr/local/lib/libatk-1.0.so.0...done.
Loaded symbols for /usr/local/lib/libatk-1.0.so.0
Reading symbols from /usr/local/lib/libgdk_pixbuf-2.0.so.0...done.
Loaded symbols for /usr/local/lib/libgdk_pixbuf-2.0.so.0
Reading symbols from /usr/local/lib/libXext.so.6...done.
Loaded symbols for /usr/local/lib/libXext.so.6
Reading symbols from /usr/local/lib/libXrender.so.1...done.
Loaded symbols for /usr/local/lib/libXrender.so.1
Reading symbols from /usr/local/lib/libXinerama.so.1...done.
Loaded symbols for /usr/local/lib/libXinerama.so.1
Reading symbols from /usr/local/lib/libXi.so.6...done.
Loaded symbols for /usr/local/lib/libXi.so.6
Reading symbols from /usr/local/lib/libXrandr.so.2...done.
Loaded symbols for /usr/local/lib/libXrandr.so.2
Reading symbols from /usr/local/lib/libXcursor.so.1...done.
Loaded symbols for /usr/local/lib/libXcursor.so.1
Reading symbols from /usr/local/lib/libXfixes.so.3...done.
Loaded symbols for /usr/local/lib/libXfixes.so.3
Reading symbols from /usr/local/lib/libpangoft2-1.0.so.0...done.
Loaded symbols for /usr/local/lib/libpangoft2-1.0.so.0
Reading symbols from /usr/local/lib/libfontconfig.so.1...done.
Loaded symbols for /usr/local/lib/libfontconfig.so.1
Reading symbols from /usr/local/lib/libfreetype.so.9...done.
Loaded symbols for /usr/local/lib/libfreetype.so.9
Reading symbols from /usr/local/lib/libpangox-1.0.so.0...done.
Loaded symbols for /usr/local/lib/libpangox-1.0.so.0
Reading symbols from /usr/local/lib/libX11.so.6...done.
Loaded symbols for /usr/local/lib/libX11.so.6
Reading symbols from /usr/local/lib/libpango-1.0.so.0...done.
Loaded symbols for /usr/local/lib/libpango-1.0.so.0
Reading symbols from /usr/local/lib/libSM.so.6...done.
Loaded symbols for /usr/local/lib/libSM.so.6
Reading symbols from /usr/local/lib/libpng.so.5...done.
Loaded symbols for /usr/local/lib/libpng.so.5
Reading symbols from /usr/local/lib/libjpeg.so.9...done.
Loaded symbols for /usr/local/lib/libjpeg.so.9
Reading symbols from /usr/local/lib/libtiff.so.4...done.
Loaded symbols for /usr/local/lib/libtiff.so.4
Reading symbols from /usr/local/lib/libintl.so.8...done.
Loaded symbols for /usr/local/lib/libintl.so.8
Reading symbols from /usr/local/lib/libpangocairo-1.0.so.0...done.
Loaded symbols for /usr/local/lib/libpangocairo-1.0.so.0
Reading symbols from /usr/local/lib/libcairo.so.2...done.
Loaded symbols for /usr/local/lib/libcairo.so.2
Reading symbols from /usr/local/lib/libXau.so.6...done.
Loaded symbols for /usr/local/lib/libXau.so.6
Reading symbols from /usr/local/lib/libexpat.so.6...done.
Loaded symbols for /usr/local/lib/libexpat.so.6
Reading symbols from /usr/local/lib/libXdmcp.so.6...done.
Loaded symbols for /usr/local/lib/libXdmcp.so.6
Reading symbols from /usr/lib/librpcsvc.so.3...done.
Loaded symbols for /usr/lib/librpcsvc.so.3
Reading symbols from /usr/local/lib/libICE.so.6...done.
Loaded symbols for /usr/local/lib/libICE.so.6
Reading symbols from /usr/local/lib/gtk-2.0/2.10.0/immodules/im-cedilla.so...done.
Loaded symbols for /usr/local/lib/gtk-2.0/2.10.0/immodules/im-cedilla.so
Reading symbols from /usr/local/lib/gtk-2.0/2.10.0/loaders/libpixbufloader-xpm.so...done.
Loaded symbols for /usr/local/lib/gtk-2.0/2.10.0/loaders/libpixbufloader-xpm.so
Reading symbols from /usr/local/lib/pango/1.6.0/modules/pango-basic-fc.so...done.
Loaded symbols for /usr/local/lib/pango/1.6.0/modules/pango-basic-fc.so
Reading symbols from /libexec/ld-elf.so.1...done.
Loaded symbols for /libexec/ld-elf.so.1
#0 0x28508537 in pthread_testcancel () from /lib/libpthread.so.2
[New Thread 0x87d0400 (sleeping)]
[New Thread 0xb036800 (sleeping)]
[New Thread 0x8a1de00 (LWP 100040)]
[New Thread 0x8797000 (LWP 100083)]
(gdb)
(gdb) bt
#0 0x28508537 in pthread_testcancel () from /lib/libpthread.so.2
#1 0x284f789a in sigaction () from /lib/libpthread.so.2
#2 0x284f188d in pthread_kill () from /lib/libpthread.so.2
#3 0x284f1256 in raise () from /lib/libpthread.so.2
#4 0x0836e6a2 in OnUnhandledException () at MuleDebug.cpp:80
#5 0x28aae49c in __cxxabiv1::__terminate () from /usr/lib/libstdc++.so.5
#6 0x28aae4d4 in std::terminate () from /usr/lib/libstdc++.so.5
#7 0x28aae428 in __cxa_throw () from /usr/lib/libstdc++.so.5
#8 0x28aedb0a in operator new () from /usr/lib/libstdc++.so.5
#9 0x0840c015 in wxObjectList::CreateNode (this=0xae2b980, prev=0x284b8fc0,
next=0x0, data=0x85a0440, key=@0x28a3b3f8) at list.h:1178
#10 0x28986194 in wxListBase::Append ()
from /usr/X11R6/lib/libwx_baseu-2.8.so.0
#11 0x289dec89 in wxEvtHandler::AddPendingEvent ()
from /usr/X11R6/lib/libwx_baseu-2.8.so.0
#12 0x288ed9c6 in wxSocketBase::OnRequest ()
from /usr/X11R6/lib/libwx_baseu_net-2.8.so.0
#13 0x288edad2 in wx_socket_callback ()
from /usr/X11R6/lib/libwx_baseu_net-2.8.so.0
#14 0x288f1e1d in GSocket::Detected_Write ()
from /usr/X11R6/lib/libwx_baseu_net-2.8.so.0
#15 0x286dee15 in wxFont::CloneRefData ()
from /usr/X11R6/lib/libwx_gtk2u_core-2.8.so.0
---Type <return> to continue, or q <return> to quit---
#16 0x293074df in gdk_get_show_events ()
from /usr/local/lib/libgdk-x11-2.0.so.0
#17 0x0be53f00 in ?? ()
#18 0x0000005d in ~InvertibleRSAFunction (this=0xb9deac0)
at extern/cryptopp/CryptoPP.cpp:819
#19 0x28eb4c93 in g_vasprintf () from /usr/local/lib/libglib-2.0.so.0
#20 0x28e906a5 in g_main_context_dispatch ()
from /usr/local/lib/libglib-2.0.so.0
#21 0x28e91f55 in g_main_context_acquire ()
from /usr/local/lib/libglib-2.0.so.0
#22 0x28e921b0 in g_main_loop_run () from /usr/local/lib/libglib-2.0.so.0
#23 0x291017cb in gtk_main () from /usr/local/lib/libgtk-x11-2.0.so.0
#24 0x286dd5f5 in wxEventLoop::Run ()
from /usr/X11R6/lib/libwx_gtk2u_core-2.8.so.0
#25 0x2875f056 in wxAppBase::MainLoop ()
from /usr/X11R6/lib/libwx_gtk2u_core-2.8.so.0
#26 0x2875f19f in wxAppBase::OnRun ()
from /usr/X11R6/lib/libwx_gtk2u_core-2.8.so.0
#27 0x2897aac6 in wxEntry () from /usr/X11R6/lib/libwx_baseu-2.8.so.0
#28 0x2897aba7 in wxEntry () from /usr/X11R6/lib/libwx_baseu-2.8.so.0
#29 0x0820a503 in main (argc=1, argv=0xbfbfe900) at amule-gui.cpp:287
(gdb) bt full
#0 0x28508537 in pthread_testcancel () from /lib/libpthread.so.2
No symbol table info available.
#1 0x284f789a in sigaction () from /lib/libpthread.so.2
No symbol table info available.
#2 0x284f188d in pthread_kill () from /lib/libpthread.so.2
No symbol table info available.
#3 0x284f1256 in raise () from /lib/libpthread.so.2
No symbol table info available.
#4 0x0836e6a2 in OnUnhandledException () at MuleDebug.cpp:80
t = (struct std::type_info *) 0x859be48
#5 0x28aae49c in __cxxabiv1::__terminate () from /usr/lib/libstdc++.so.5
No symbol table info available.
#6 0x28aae4d4 in std::terminate () from /usr/lib/libstdc++.so.5
No symbol table info available.
#7 0x28aae428 in __cxa_throw () from /usr/lib/libstdc++.so.5
No symbol table info available.
#8 0x28aedb0a in operator new () from /usr/lib/libstdc++.so.5
No symbol table info available.
#9 0x0840c015 in wxObjectList::CreateNode (this=0xae2b980, prev=0x284b8fc0,
next=0x0, data=0x85a0440, key=@0x28a3b3f8) at list.h:1178
No locals.
#10 0x28986194 in wxListBase::Append ()
from /usr/X11R6/lib/libwx_baseu-2.8.so.0
---Type <return> to continue, or q <return> to quit---
No symbol table info available.
#11 0x289dec89 in wxEvtHandler::AddPendingEvent ()
from /usr/X11R6/lib/libwx_baseu-2.8.so.0
No symbol table info available.
#12 0x288ed9c6 in wxSocketBase::OnRequest ()
from /usr/X11R6/lib/libwx_baseu_net-2.8.so.0
No symbol table info available.
#13 0x288edad2 in wx_socket_callback ()
from /usr/X11R6/lib/libwx_baseu_net-2.8.so.0
No symbol table info available.
#14 0x288f1e1d in GSocket::Detected_Write ()
from /usr/X11R6/lib/libwx_baseu_net-2.8.so.0
No symbol table info available.
#15 0x286dee15 in wxFont::CloneRefData ()
from /usr/X11R6/lib/libwx_gtk2u_core-2.8.so.0
No symbol table info available.
#16 0x293074df in gdk_get_show_events ()
from /usr/local/lib/libgdk-x11-2.0.so.0
No symbol table info available.
#17 0x0be53f00 in ?? ()
No symbol table info available.
#18 0x0000005d in ~InvertibleRSAFunction (this=0xb9deac0)
at extern/cryptopp/CryptoPP.cpp:819
---Type <return> to continue, or q <return> to quit---
No locals.
#19 0x28eb4c93 in g_vasprintf () from /usr/local/lib/libglib-2.0.so.0
No symbol table info available.
#20 0x28e906a5 in g_main_context_dispatch ()
from /usr/local/lib/libglib-2.0.so.0
No symbol table info available.
#21 0x28e91f55 in g_main_context_acquire ()
from /usr/local/lib/libglib-2.0.so.0
No symbol table info available.
#22 0x28e921b0 in g_main_loop_run () from /usr/local/lib/libglib-2.0.so.0
No symbol table info available.
#23 0x291017cb in gtk_main () from /usr/local/lib/libgtk-x11-2.0.so.0
No symbol table info available.
#24 0x286dd5f5 in wxEventLoop::Run ()
from /usr/X11R6/lib/libwx_gtk2u_core-2.8.so.0
No symbol table info available.
#25 0x2875f056 in wxAppBase::MainLoop ()
from /usr/X11R6/lib/libwx_gtk2u_core-2.8.so.0
No symbol table info available.
#26 0x2875f19f in wxAppBase::OnRun ()
from /usr/X11R6/lib/libwx_gtk2u_core-2.8.so.0
No symbol table info available.
#27 0x2897aac6 in wxEntry () from /usr/X11R6/lib/libwx_baseu-2.8.so.0
---Type <return> to continue, or q <return> to quit---
No symbol table info available.
#28 0x2897aba7 in wxEntry () from /usr/X11R6/lib/libwx_baseu-2.8.so.0
No symbol table info available.
#29 0x0820a503 in main (argc=1, argv=0xbfbfe900) at amule-gui.cpp:287
No locals.
(gdb) thread apply all bt
Thread 4 (Thread 0x8797000 (LWP 100083)):
#0 0x28508537 in pthread_testcancel () from /lib/libpthread.so.2
#1 0x284f789a in sigaction () from /lib/libpthread.so.2
#2 0x284f188d in pthread_kill () from /lib/libpthread.so.2
#3 0x284f1256 in raise () from /lib/libpthread.so.2
#4 0x0836e6a2 in OnUnhandledException () at MuleDebug.cpp:80
#5 0x28aae49c in __cxxabiv1::__terminate () from /usr/lib/libstdc++.so.5
#6 0x28aae4d4 in std::terminate () from /usr/lib/libstdc++.so.5
#7 0x28aae428 in __cxa_throw () from /usr/lib/libstdc++.so.5
#8 0x28aedb0a in operator new () from /usr/lib/libstdc++.so.5
#9 0x0840c015 in wxObjectList::CreateNode (this=0xae2b980, prev=0x284b8fc0,
next=0x0, data=0x85a0440, key=@0x28a3b3f8) at list.h:1178
#10 0x28986194 in wxListBase::Append ()
from /usr/X11R6/lib/libwx_baseu-2.8.so.0
#11 0x289dec89 in wxEvtHandler::AddPendingEvent ()
from /usr/X11R6/lib/libwx_baseu-2.8.so.0
#12 0x288ed9c6 in wxSocketBase::OnRequest ()
from /usr/X11R6/lib/libwx_baseu_net-2.8.so.0
#13 0x288edad2 in wx_socket_callback ()
from /usr/X11R6/lib/libwx_baseu_net-2.8.so.0
#14 0x288f1e1d in GSocket::Detected_Write ()
from /usr/X11R6/lib/libwx_baseu_net-2.8.so.0
---Type <return> to continue, or q <return> to quit---
#15 0x286dee15 in wxFont::CloneRefData ()
from /usr/X11R6/lib/libwx_gtk2u_core-2.8.so.0
#16 0x293074df in gdk_get_show_events ()
from /usr/local/lib/libgdk-x11-2.0.so.0
#17 0x0be53f00 in ?? ()
#18 0x0000005d in ~InvertibleRSAFunction (this=0xb9deac0)
at extern/cryptopp/CryptoPP.cpp:819
#19 0x28eb4c93 in g_vasprintf () from /usr/local/lib/libglib-2.0.so.0
#20 0x28e906a5 in g_main_context_dispatch ()
from /usr/local/lib/libglib-2.0.so.0
#21 0x28e91f55 in g_main_context_acquire ()
from /usr/local/lib/libglib-2.0.so.0
#22 0x28e921b0 in g_main_loop_run () from /usr/local/lib/libglib-2.0.so.0
#23 0x291017cb in gtk_main () from /usr/local/lib/libgtk-x11-2.0.so.0
#24 0x286dd5f5 in wxEventLoop::Run ()
from /usr/X11R6/lib/libwx_gtk2u_core-2.8.so.0
#25 0x2875f056 in wxAppBase::MainLoop ()
from /usr/X11R6/lib/libwx_gtk2u_core-2.8.so.0
#26 0x2875f19f in wxAppBase::OnRun ()
from /usr/X11R6/lib/libwx_gtk2u_core-2.8.so.0
#27 0x2897aac6 in wxEntry () from /usr/X11R6/lib/libwx_baseu-2.8.so.0
#28 0x2897aba7 in wxEntry () from /usr/X11R6/lib/libwx_baseu-2.8.so.0
#29 0x0820a503 in main (argc=1, argv=0xbfbfe900) at amule-gui.cpp:287
---Type <return> to continue, or q <return> to quit---
Thread 3 (Thread 0x8a1de00 (LWP 100040)):
#0 0x285084f7 in pthread_testcancel () from /lib/libpthread.so.2
#1 0x28500ec8 in pthread_mutexattr_init () from /lib/libpthread.so.2
#2 0x29422450 in ?? ()
Thread 2 (Thread 0xb036800 (sleeping)):
#0 0x28500f9b in pthread_mutexattr_init () from /lib/libpthread.so.2
#1 0x284faa3a in _nanosleep () from /lib/libpthread.so.2
#2 0x284fab9e in nanosleep () from /lib/libpthread.so.2
#3 0x289e2462 in wxMicroSleep () from /usr/X11R6/lib/libwx_baseu-2.8.so.0
#4 0x289e2490 in wxMilliSleep () from /usr/X11R6/lib/libwx_baseu-2.8.so.0
#5 0x289dbdff in wxThread::Sleep () from /usr/X11R6/lib/libwx_baseu-2.8.so.0
#6 0x08195c9d in UploadBandwidthThrottler::Entry (this=0xb029c00)
at UploadBandwidthThrottler.cpp:321
#7 0x289dc80d in wxThreadInternal::PthreadStart ()
from /usr/X11R6/lib/libwx_baseu-2.8.so.0
#8 0x289dc867 in wxPthreadStart () from /usr/X11R6/lib/libwx_baseu-2.8.so.0
#9 0x284f93a5 in pthread_create () from /lib/libpthread.so.2
#10 0x28bd5137 in _ctx_start () from /lib/libc.so.6
Thread 1 (Thread 0x87d0400 (sleeping)):
#0 0x28500f9b in pthread_mutexattr_init () from /lib/libpthread.so.2
---Type <return> to continue, or q <return> to quit---
#1 0x2850112f in pthread_mutexattr_init () from /lib/libpthread.so.2
#2 0x2850606d in _pthread_cond_timedwait () from /lib/libpthread.so.2
#3 0x285065c2 in pthread_cond_timedwait () from /lib/libpthread.so.2
#4 0x289db4b0 in wxConditionInternal::WaitTimeout ()
from /usr/X11R6/lib/libwx_baseu-2.8.so.0
#5 0x289db501 in wxCondition::WaitTimeout ()
from /usr/X11R6/lib/libwx_baseu-2.8.so.0
#6 0x289db9b9 in wxSemaphoreInternal::WaitTimeout ()
from /usr/X11R6/lib/libwx_baseu-2.8.so.0
#7 0x289dd849 in wxSemaphore::WaitTimeout ()
from /usr/X11R6/lib/libwx_baseu-2.8.so.0
#8 0x0831af83 in CTimerThread::Entry (this=0x87eb280) at Timer.cpp:63
#9 0x289dc80d in wxThreadInternal::PthreadStart ()
from /usr/X11R6/lib/libwx_baseu-2.8.so.0
#10 0x289dc867 in wxPthreadStart () from /usr/X11R6/lib/libwx_baseu-2.8.so.0
#11 0x284f93a5 in pthread_create () from /lib/libpthread.so.2
#12 0x28bd5137 in _ctx_start () from /lib/libc.so.6
#0 0x28508537 in pthread_testcancel () from /lib/libpthread.so.2