#include <debugger-shell.H>
Inherited by SHELL.
Public Member Functions | |
virtual BOOL | Enable (const STARTUP_ARGUMENTS &args)=0 |
virtual unsigned | AddExtendedHelpCategory (const std::string &name, const std::string &description, BOOL *alreadyExists)=0 |
virtual void | AddExtendedHelpMessage (unsigned category, const std::string &cmd, const std::string &description)=0 |
virtual REG | GetSkipOneRegister ()=0 |
virtual | ~ISHELL ()=0 |
DEBUGGER_SHELL::ISHELL::~ISHELL | ( | ) | [inline, pure virtual] |
Destroys the debugger shell object.
virtual BOOL DEBUGGER_SHELL::ISHELL::Enable | ( | const STARTUP_ARGUMENTS & | args | ) | [pure virtual] |
This method must be called once, typically from the tool's main() function. It enables the Pin instrumentation which implements the debugger extensions.
[in] | args | Arguments that customize the debugger shell. |
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.
[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. |
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.
[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. |
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.