#include <YCPDebugger.h>
Public Types | |
enum | EntryPoint { Interpreter, Block } |
Public Member Functions | |
YCPDebugger (bool) | |
~YCPDebugger () | |
void | debug (EntryPoint, const YCPElement &) |
Private Member Functions | |
void | add_breakpoint (const string &, int) |
bool | delete_breakpoint (const string &, int) |
bool | check_breakpoints (const string &, int) |
void | list_breakpoints () |
void | list_source (const char *) |
void | create_socket () |
void | check_socket (bool) |
string | read_line (bool) const |
void | write_line (const char *,...) const __attribute__((format(printf |
void | write_prompt () const |
bool | handle_command (const string &, const YCPElement &elem) |
bool | print_variable (const string &) |
void | print_scope () |
bool | ignore (EntryPoint, const YCPElement &) |
Private Attributes | |
string | last_command |
bool | wait_for_frontend |
vector< Breakpoint > | breakpoints |
int | sock |
int | fd |
bool | single_mode |
int | hold_level |
Position | leave_position |
bool | close_request |
Settings | settings |
|
Enum of entrypoints for the function debug. |
|
Constructor for debugger. The parameter determines whether to block (in the first debug call) until the frontend connects or not. |
|
Destructor for debugger. |
|
Adds a breakpoint to the list of breakpoints. |
|
Checks if the given position does matches a breakpoint and returns true if so. |
|
Checks if data arrived on our socket. The parameter determines whether to block until data arrives or not. |
|
Creates the socket we are listening on. |
|
Main debug function. It is called in YCode::evaluate and YBlock::evaluate. |
|
Deletes a breakpoint from the list of breakpoints. Return false if no matching breakpoint was found. |
|
Handles a command from the frontend. The return value specifies whether the execution should continue or not. |
|
Used to ignore the calls to "_fullname", which the user does not want to debug and most important the filename is wrong during these calls. |
|
Prints a list of all breakpoints. |
|
Prints the current source file. |
|
Prints the entire variable scope. |
|
Prints a single variable. |
|
Reads a line from the file descriptor. The parameter determines whether to block or not. |
|
Writes a line to the file descriptor. |
|
Writes the prompt to the file descriptor. |
|
List of breakpoints. |
|
The frontend wants to detach from the debugger. |
|
The file descriptor we are communication on. Note: We only allow one debugger to be connected. |
|
Stop execution if the level is smaller than or equal to the hold_level. |
|
The command received last. |
|
Stop execution if execution leaves this position. |
|
The user settings. |
|
Stop execution at the next possible point. |
|
The socket we are listening on. |
|
Block (in the first debug call) until the frontend connects. |