Pin
|
Classes | |
struct | AT_ICOUNT |
struct | AT_MCOUNT |
struct | EVENT |
struct | HELP |
struct | HELP_CATEGORY |
struct | THREAD_DATA |
struct | TRACEREC |
Public Member Functions | |
BOOL | Construct () |
BOOL | Enable (const DEBUGGER_SHELL::STARTUP_ARGUMENTS &args) |
unsigned | AddExtendedHelpCategory (const std::string &name, const std::string &description, BOOL *alreadyExists) |
void | AddExtendedHelpMessage (unsigned category, const std::string &cmd, const std::string &description) |
REG | GetSkipOneRegister () |
unsigned SHELL::AddExtendedHelpCategory | ( | const std::string & | name, |
const std::string & | description, | ||
BOOL * | alreadyExists | ||
) | [inline, 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. |
Implements DEBUGGER_SHELL::ISHELL.
void SHELL::AddExtendedHelpMessage | ( | unsigned | category, |
const std::string & | cmd, | ||
const std::string & | description | ||
) | [inline, 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. |
Implements DEBUGGER_SHELL::ISHELL.
BOOL SHELL::Enable | ( | const DEBUGGER_SHELL::STARTUP_ARGUMENTS & | args | ) | [inline, 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. |
Implements DEBUGGER_SHELL::ISHELL.
REG SHELL::GetSkipOneRegister | ( | ) | [inline, 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.
Implements DEBUGGER_SHELL::ISHELL.