#include <debugger-shell.H>
The public interface to the debugger shell.
◆ AddExtendedHelpCategory()
virtual unsigned DEBUGGER_SHELL::ISHELL::AddExtendedHelpCategory |
( |
const std::string & |
name, |
|
|
const std::string & |
description, |
|
|
BOOL * |
alreadyExists |
|
) |
| |
|
pure virtual |
Tools that use the debugger shell may still implement their own extended debugger commands by using PIN_AddDebugInterpreter(). The debugger shell provides a way for such tools to include a help message for these extended commands in the help message that the debugger shell prints. Tools can use AddExtendedHelpCategory() to define their own category of help messages.
- Parameters
-
[in] | name | The name of the category. |
[in] | description | Describes this category of extended commands. |
[out] | alreadyExists | If not NULL, receives TRUE if a tool already added a custom category for name. In this case, the debugger shell uses the previous description. |
- Returns
- The ID for this custom category. If a tool already added a category named name, that previous category ID is returned.
Implemented in SHELL.
◆ AddExtendedHelpMessage()
virtual void DEBUGGER_SHELL::ISHELL::AddExtendedHelpMessage |
( |
unsigned |
category, |
|
|
const std::string & |
cmd, |
|
|
const std::string & |
description |
|
) |
| |
|
pure virtual |
Adds a help message for an extended command that is implemented by the layered tool. See also AddExtendedHelpCategory() for more information on adding extended debugger commands.
- Parameters
-
[in] | category | The category for this extended command. This can either be one of the predefined HELP_CATEGORY constants or a value returned by AddExtendedHelpCategory(). |
[in] | cmd | The name of a tool's extended command. |
[in] | description | Describes what the command does. |
Implemented in SHELL.
◆ Enable()
This method must be called once, typically from the tool's main() function. It enables the Pin instrumentation which implements the debugger extensions.
- Parameters
-
[in] | args | Arguments that customize the debugger shell. |
- Returns
- TRUE on success. If there is an error, a diagnostic is printed and this method returns FALSE.
Implemented in SHELL.
◆ GetSkipOneRegister()
virtual REG DEBUGGER_SHELL::ISHELL::GetSkipOneRegister |
( |
| ) |
|
|
pure virtual |
Tools that override the default instrumentation with ICUSTOM_INSTRUMENTOR may need a virtual register to hold the "skip one" flag. This method provides the register number to use for this.
- Returns
- The Pin virtual register to use for the "skip one" flag. This is one of the REG_INST_Gn registers.
Implemented in SHELL.
The documentation for this class was generated from the following file: