Difference between revisions of "Stack Trace"
From GnuCash
(stack trace explanation) |
(→How to obtain a Stack Trace) |
||
Line 1: | Line 1: | ||
− | = | + | = What is a Stack Trace? = |
If GnuCash terminates abnormally (i. e. it crashes), then a ''stack trace'' is a very helpful information for the developers to figure out the program error that caused this crash. | If GnuCash terminates abnormally (i. e. it crashes), then a ''stack trace'' is a very helpful information for the developers to figure out the program error that caused this crash. | ||
− | + | == How to obtain a Stack Trace == | |
+ | Other explanations on how to obtain stack traces: | ||
* http://live.gnome.org/GettingTraces | * http://live.gnome.org/GettingTraces | ||
* http://www.dirac.org/linux/gdb/06-Debugging_A_Running_Process.php | * http://www.dirac.org/linux/gdb/06-Debugging_A_Running_Process.php | ||
* (in German) http://www.linuxwiki.de/gdb | * (in German) http://www.linuxwiki.de/gdb | ||
− | == Attach gdb to running process == | + | === Attach gdb to running process === |
The program "gnucash" itself is not an executable but a script. Therefore it cannot be called directly by the ''gdb'' debugger. We propose to "attach" the gdb to the running gnucash process instead. | The program "gnucash" itself is not an executable but a script. Therefore it cannot be called directly by the ''gdb'' debugger. We propose to "attach" the gdb to the running gnucash process instead. |
Revision as of 10:29, 24 January 2006
What is a Stack Trace?
If GnuCash terminates abnormally (i. e. it crashes), then a stack trace is a very helpful information for the developers to figure out the program error that caused this crash.
How to obtain a Stack Trace
Other explanations on how to obtain stack traces:
- http://live.gnome.org/GettingTraces
- http://www.dirac.org/linux/gdb/06-Debugging_A_Running_Process.php
- (in German) http://www.linuxwiki.de/gdb
Attach gdb to running process
The program "gnucash" itself is not an executable but a script. Therefore it cannot be called directly by the gdb debugger. We propose to "attach" the gdb to the running gnucash process instead.
To attach to the running gnucash process:
- Start gnucash normally
- Use "ps afx" to find out the process number (PID) of the running gnucash process; it might be called "gnucash" or "guile", I'm not sure. Say the PID is 12345.
- Start gdb by typing "gdb"
- Attach to the running process by typing "attach 12345"; gdb will temporarily stop the program
- Continue program execution by typing "continue" at the gdb prompt
- Provoke the crash; type "backtrace" or shorthand "bt" at the gdb prompt.
Please submit the backtrace together with the instructions on how to reproduce this crash as a new bug report into Bugzilla. Thank you for your contribution.