|
ddd |
|
If you want to help the developer fixing bugs that crash the dock, the best is to compile the latest revision of the dock from the source in BZR and then produce a backtrace.
Installing debug symbols - For Ubuntu users, you need just to add our ppa Weekly, and install this packages : cairo-dock-core-dbg libgldi3-dbg cairo-dock-plug-ins-dbg cairo-dock-plug-ins-integration-dbg. You can use directly this command in a terminal :
sudo apt-get install cairo-dock-core-dbg libgldi3-dbg cairo-dock-plug-ins-dbg cairo-dock-plug-ins-integration-dbg
- For Debian users (and Ubuntu if you want compile the dock or if we ask you), the compilation is very easy thanks to a script.
- For other distributions that take more time, but all the commands and explanations are give on the same page => From BZR
Don't forget to add the debug symbols with this command CMake : cmake .. -DCMAKE_INSTALL_PREFIX=/usr -DCMAKE_BUILD_TYPE=Debug * For ArchLinux users, edit the PKGBUILD (core and plug-ins) for the option to CMake is not enough.
Momentarily, you need to remove the option "strip" in /etc/makepkg.conf (OPTIONS=(strip (...))
Backtrace Graphic Method Though mind it's more interesting for us to work with a full backtrace. So, if your are able to use commands on a terminal, you can directly jump to the part about GDB.
- Install the light software ddd (which should be on your store or other overlays, etc.)
- Then, run Cairo-Dock with this command (on a terminal or with a shortcut like Alt+F2):
- In DDD, Click on the button 'Run' (or Program / Run or the shortcut 'F2')
- Reproduce the crash.
- Finally, create a screenshot of ddd Status/Backtrace Windows (enlarged if needed) and give us a link toward this image on the forum.
- For upload, there are servers than uppix.net, imageshark.us, etc. or you can use our DND2Share applet.
Terminal Method GDB: It can be interesting to have a full backtrace but you've to use a terminal and a few commands. If you're able to do that, don't hesitate to add these informations to the bug report!
So... first install gdb package (which should be on your store or other overlays, etc.)
Then, simply launch these commands and post the content of the gdb.txt file located in your home directorycd
gdb cairo-dock
#> now you're in the gdb prompt
run
#> simply reproduce the crash
set logging on
l
bt full
#> then press Enter until the end of the backtrace
info frame
thread apply all bt full
#> then press Enter until the end of the backtrace
quit This file has been created in your home directory: gdb.txt
To read:
What you should do after ? - When the bug is fixed :
- If you had installed Debug packages (Ubuntu), you can remove these, which are now needless :
sudo apt-get purge cairo-dock-core-dbg libgldi3-dbg cairo-dock-plug-ins-dbg cairo-dock-plug-ins-integration-dbg
- You can return to the previous version too, but the bug will be not fixed... . However, if a stable version coming, it should be better to use packages of your distribution, in order to be always up to date with stable versions.
- If the Weekly PPA was added, you can dis-activate it and eventually return to previous versions thanks to the synaptic software.
- If the dock was compiled with the script, you can remove it with this command:
cd /opt/cairo-dock_bzr
./cairo-dock_bzr.sh (use option 3 for removing - don't forget to reinstall the dock with our PPA).
- Or, for other distributions, use this command (running in compilation's directory) Then, use a previous version (reinstall with our PPA or other).
- Or continue to use Weekly PPA or a compiled dock (up to date with the script or a bzr command)
Backtrace example with ddd :
|
|