Difference between revisions of "Software:gdb"

From CAC Wiki
Jump to: navigation, search
(Created page with "== Gnu debugger (gdb) == {| style="border-spacing: 8px;" | valign="top" width="50%" style="padding:1em; border:1px solid #aaaaaa; background-color:#e1eaf1; border-radius:7px"...")
 
Line 2: Line 2:
 
{|  style="border-spacing: 8px;"
 
{|  style="border-spacing: 8px;"
 
| valign="top" width="50%" style="padding:1em; border:1px solid #aaaaaa; background-color:#e1eaf1; border-radius:7px" |
 
| valign="top" width="50%" style="padding:1em; border:1px solid #aaaaaa; background-color:#e1eaf1; border-radius:7px" |
The purpose of a debugger such as GDB is to allow you to see what is going on “inside” another program while it executes—or what another program was doing at the moment it crashed. GDB can do four main kinds of things (plus other things in support of these) to help you catch bugs in the act:
+
Profiling allows you to learn where your program spent its time and which functions called which other functions while it was executing. This information can show you which pieces of your program are slower than you expected, and might be candidates for rewriting to make your program execute faster. It can also tell you which functions are being called more or less often than you expected. This may help you spot bugs that had otherwise been unnoticed. Since the profiler uses information collected during the actual execution of your program, it can be used on programs that are too large or too complex to analyze by reading the source.  
* Start your program, specifying anything that might affect its behavior.
+
* Make your program stop on specified conditions.
+
* Examine what has happened, when your program has stopped.
+
* Change things in your program, so you can experiment with correcting the effects of one bug and go on to learn about another.
+
You can use GDB to debug programs written in C and C++.
+
 
* '''Current Version''': 7.2
 
* '''Current Version''': 7.2
 
* '''Location''':  /usr/bin
 
* '''Location''':  /usr/bin

Revision as of 16:54, 20 May 2016

Gnu debugger (gdb)

Profiling allows you to learn where your program spent its time and which functions called which other functions while it was executing. This information can show you which pieces of your program are slower than you expected, and might be candidates for rewriting to make your program execute faster. It can also tell you which functions are being called more or less often than you expected. This may help you spot bugs that had otherwise been unnoticed. Since the profiler uses information collected during the actual execution of your program, it can be used on programs that are too large or too complex to analyze by reading the source.