3.6 KiB
Breakpoint/GDB log Manager
Introduction
This part of Seer shows Breakpoints, GDB log, and Seer log information. In detailed, the information is:
- Messages
- Breakpoints
- Watchpoints
- Catchpoints
- Printpoints
- GDB output
- Seer output
- Save and load breakpoints
- Manual GDB commands.
Messages
Various gdb execution messages are listed in this tab. These occur as you debug the program. The message types are:
- Program startup and completion
- Breakpoint encouters
- Signal encounters
- General gdb errors
The message tab can be raised in various ways when a message is added to the tab:
- Any message
- Important messages (program startup, signal encounters)
- Never
Breakpoints
Breakpoints sets up a stopping point of the program being debugged when a function and line number is reached.
Watchpoints
Watchpoints catch the access and/or modification of a variable and will stop the program being debugged at that point.
Catchpoints
Catchpoints catch the execution of one of these program actions just before they are called and will stop the program being debugged at that point.
-
C++
- throw
- rethrow
- catch
-
Shared Library
- Load
- Unload
-
Ada
- assert
- exception
- handlers
There are other types of catchpoints but GDB/mi only supports the above list at the moment.
Printpoints
A printpoint is a type of breakpoint that will print the value of a variable at a certain line of a function. It relies on gdb's dprintf feature.
Modifying existing breakpoints.
Once a breakpoint (Breakpoint, Watchpoint, Catchpoint, Printpoint) is created, certain things about the breakpoint can be modified. Not everything, though. For example, you can not change the function or line number for a breakpoint. In that case, you need to delete the breakpoint and recreated it.
These things can be modified.
- Enable/disable state.
- Add or remove a condition. eg: Break if 'i == 10'.
- Add or remove an ignore count. eg: Ignore the first 5 occurences of the breakpoint.
- Add or remove a series of gdb commands to execute when the breakpoint is reached. Not available for Printpoints.
GDB output
Any output from the GDB program is output to this logger. This is any regualar GDB output, including the result of any GDB command manually entered.
Seer output
Any output from the Seer program is ouput to this logger. Mostly, this is the result of any GDB/mi command, whether the GDB/mi command is manually entered or entered by Seer. Normally this logger is disabled.
Save and load breakpoints
There are two buttons to save or load the various types of breakpoints to/from a file. The breakpoint file can be specified in the Debug dialog or on the command line:
--bl, --break-load <filename>
Manual gdb commands
This input field allows GDB and GDB/mi commands to be manually entered. The results of the GDB commands will be logged to the GDB output. GDB/mi will be logged to the Seer output.
Seer maintains a history of N commands, as set in the Seer Config dialogs. This history is remembered for the next time Seer is used.
References
Consult these gdb references