DEBUGGER_SHELL::ISHELL Class Reference
[DEBUGGER_SHELL]

#include <debugger-shell.H>

Inherited by SHELL.

List of all members.

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


Detailed Description

The public interface to the debugger shell.


Constructor & Destructor Documentation

DEBUGGER_SHELL::ISHELL::~ISHELL  )  [inline, pure virtual]
 

Destroys the debugger shell object.


Member Function Documentation

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.

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.

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.

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.

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.


The documentation for this class was generated from the following file:
Generated on Sun Jan 28 23:35:39 2018 for Pin by  doxygen 1.4.6