Debugging Ekiga
From Ekiga
Contents |
General information
You'll get general information on debugging Ekiga here: http://live.gnome.org/GettingTraces
If Ekiga doesn't operate as expected, the debug output may help to understand what happend and why it failed.
If Ekiga crashed, you can help us fix it by providing us a backtrace.
Debugging Ekiga on Linux
How to compile PWLIB, OPAL and Ekiga with debug symbols
PWLIB:
./configure make DEBUG=1 debug make DEBUG=1 install
OPAL:
./configure --enable-debug make make install
Ekiga:
./autogen.sh --enable-debug make make install
How to get a debug output from Ekiga
A bug in OPAL for Ubuntu 7.10 Gutsy Gibbon or Debian SID users prevent Ekiga to produce an useful output. You must install libopal-2.2-ptrace to fix this:
-
$ sudo apt-get install libopal-2.2-ptrace
Run ekiga with the following arguments:
ekiga -d 4 > output.txt 2>&1
All output written to the standard console will be written into output.txt in the same directory providing a level 4 debug output from Ekiga.
How to send us a backtrace from a crash
- You need to install debug packages for the program that crashed. These debug packages are additional packages that do not affect your existing program, but provide extra information (debugging symbols) needed by developers. This makes it a lot easier to find the exact place in the program code where that problem occurs, and to fix it.
You need to install the GNU Project Debugger gdb and the debug packages for pwlib (sometimes called libpt), opal and ekiga. (e.g. for ubuntu read this: DebuggingProgramCrash)
- We ask you to also install debug packages for some of the program's major dependencies:
In a terminal, type:
$ gdb ekiga 2>&1 | tee gdb-ekiga.txt
(gdb) run
Now Ekiga should run normally.
Perform the action you did to make it crash than go back to the terminal window and you should see something like SIGSEV at...
At this stage type:
(gdb) thread apply all bt (gdb) quit
Copy the complete output from gdb, contained in the file gdb-ekiga.txt, in some tool on the internet like http://pastebin.ca/ and report to us a description of the actions you performed to crash Ekiga and the URL you get from pastebin.ca.
Debugging Ekiga on Windows
Starting ekiga.exe in a standard Windows command shell does not produce any debugging output.
The order is very important:
- Download and Install Mingw from that URL: http://downloads.sourceforge.net/mingw/MinGW-3.1.0-1.exe?modtime=1063565593&big_mirror=1
- Download and Install the GNU Project Debugger GDB from that url: http://downloads.sourceforge.net/mingw/gdb-5.2.1-1.exe?modtime=1045398993&big_mirror=1
- Download and Install a Minimal SYStem MSYS from that url: http://downloads.sourceforge.net/mingw/MSYS-1.0.10.exe?modtime=1079444447&big_mirror=1
Once MSYS is installed, it offers a bash shell for Windows users. Ekiga has to be copied to a directory accessable from MSYS, e.g.
C:\msys\1.0\home\user
Start MSYS and go to the directory you just copied Ekiga to. Note that the MSYS root directory will be the directory where MSYS is installed (in this case C:\msys\1.0).
cd home/user/ekiga
How to get a debug output from Ekiga
Run ekiga with the following arguments
ekiga.exe -d 5 1>x 2>x
All output written to the standard console will be written into stdout.txt in the same directory. All output written to the error console will be written into stderr.txt. This includes the Ekiga traces.
How to send us a backtrace from a crash
cd ekiga/path gdb ekiga.exe
(gdb) run
Now Ekiga should run normally.
Perform the action you did to make it crash than go back to the previous msys window and you should see something like SIGSEV at...
At this stage type thread apply all bt than press "Enter" and send us the display.
How to break the execution of Ekiga
Due to different handling of CTRL-C on windows pressing it during the execution of Ekiga in gdb unfortunately exits both the application and gdb as well. A workaround is to use the following app to send a "break signal" to the Ekiga app like described here
http://cygwin.com/ml/cygwin/2006-06/msg00361.html
using the debugbreak.c application listed at that post.

