Pin
|
#include <debugger-shell.H>
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 |
The public interface to 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. |
Implemented in SHELL.
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. |
Implemented in SHELL.
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. |
Implemented in SHELL.
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.
Implemented in SHELL.