-
Notifications
You must be signed in to change notification settings - Fork 22
Gnu Debugger
To use gdb to catch RetroShare issues:
<< If Retroshare is not yet running >>
-
In the folder where Rs executable is, open a terminal window, start gdb and follow this series of numbered steps
-
$ gdb
-
$ set logging on gdb-20160804.txt
-
$ handle SIGPIPE ignore nopass nostop noprint
-
$ exec-file ./RetroShare06 ( or whatever your Retroshare Gui executable filename is )
-
$ run When Retroshare hangs/locksup or crashes then enter Control-C
-
thread apply all bt full Continue using the Enter Key to extract all the stack information into the gdb.txt log file When you have extracted all the stack information you can then list the top 10 backtrace threads if you optionally want. 6a. thread apply all bt full 10
-
quit
<< If RetroShare is already running but locked/crashed >>
Open a terminal window and locate the process number (PID) for Retroshare06 by $ top or by $ ps -eaf | grep -i retroshare06
- launch gdb $ gdb
- $ set logging on gdb.txt attach gdb to the discovered RetroShare PID
- $ attach PID
- $ thread apply all bt full Continue using the Enter Key to extract all the stack information into the gdb.txt log file
- $ quit
Now read/investigate/report gdb.txt ( the log file generated )
Save this as a text file to a Retroshare shared folder and paste the link to it in the Retroshare Devels signed forum and chat lobby so the Retroshare developers can look it over.
Remember the Retroshare binary you are using the gdb debug testing utility on (RetroShare06 Gui or Nogui) must be a debug enabled Retroshare build. Add the following qmake command to set that in motion prior to your make command to compile the source code.
qmake CONFIG+=debug