diff --git a/help/Breakpoints.htm b/help/Breakpoints.htm new file mode 100644 index 00000000..6a0aeb43 --- /dev/null +++ b/help/Breakpoints.htm @@ -0,0 +1,20 @@ + + +
+Breakpoints
This section contains
+various breakpoint-related commands.
Callbacks
These structures are used inside event
+callbacks (registered using _plugin_registercallback). Notice that the pointer
+'void* callbackInfo' is never NULL, but the
+members of the various structures can be NULL.
struct
+PLUG_CB_INITDEBUG
{
const char*
+szFileName;
};
struct
+PLUG_CB_STOPDEBUG
{
+void*
+reserved;
};
struct
+PLUG_CB_CREATEPROCESS
{
+CREATE_PROCESS_DEBUG_INFO*
+ CreateProcessInfo;
IMAGEHLP_MODULE64*
+ modInfo;
const char*
+DebugFileName;
+PROCESS_INFORMATION*
+fdProcessInfo;
};
struct
+PLUG_CB_EXITPROCESS
{
+EXIT_PROCESS_DEBUG_INFO*
+ ExitProcess;
};
struct
+PLUG_CB_CREATETHREAD
{
+CREATE_THREAD_DEBUG_INFO*
+ CreateThread;
};
struct PLUG_CB_EXITTHREAD
{
EXIT_THREAD_DEBUG_INFO*
+ ExitThread;
};
struct
+PLUG_CB_SYSTEMBREAKPOINT
{
+void* reserved;
};
struct PLUG_CB_LOADDLL
{
+LOAD_DLL_DEBUG_INFO*
+ LoadDll;
IMAGEHLP_MODULE64*
+modInfo;
const char* modname;
};
struct PLUG_CB_UNLOADDLL
{
+UNLOAD_DLL_DEBUG_INFO*
+ UnloadDll;
};
struct
+PLUG_CB_OUTPUTDEBUGSTRING
{
+OUTPUT_DEBUG_STRING_INFO*
+DebugString;
};
struct PLUG_CB_EXCEPTION
{
+EXCEPTION_DEBUG_INFO*
+ Exception;
};
struct PLUG_CB_BREAKPOINT
{
BRIDGEBP*
+ breakpoint;
};
struct PLUG_CB_PAUSEDEBUG
{
+void*
+ reserved;
};
struct PLUG_CB_RESUMEDEBUG
{
+void*
+ reserved;
};
struct PLUG_CB_STEPPED
{
+void*
+reserved;
};
\ No newline at end of file diff --git a/help/Debug_Control.htm b/help/Debug_Control.htm new file mode 100644 index 00000000..498d6fc1 --- /dev/null +++ b/help/Debug_Control.htm @@ -0,0 +1,20 @@ + + + +
Debug Control
This section contains
+commands useful for controlling the debugger (stepping etc.)
Exports
This section contains
+information about the "_plugin_" prefixed exports.
Memory Operations
This section
+contains commands to manipulate memory inside the debuggee.
Misc
This section contains all
+commands that do not directly fit in another section.
pluginit
This structure is used by the only needed
+export in the plugin
+interface:
struct
+PLUG_INITSTRUCT
{
//data provided
+by the debugger to the plugin
[IN]
+int pluginHandle; //handle of the plugin
+
//data provided by the plugin
+to the debugger (required)
[OUT]
+int sdkVersion; //plugin SDK version, use the
+PLUG_SDKVERSION define for this
[OUT]
+int pluginVersion; //plugin version,
+useful for crash reports
[OUT]
+char pluginName[256]; //plugin name, also
+useful for crash reports
+};
Plugins
This section describes
+various plugin functions for x64_dbg.
Plugins
This section contains
+debugger-embedded plugin commands.
Structures
This section describes
+the various plugin SDK structures.
User Database
This section contains
+commands that manipulate the user database (comments, labels and
+bookmarks).
Variables
This section contains
+commands that can manipulate variables.
_plugin_registercallback
This
+function registers an event callback for a plugin. Every plugin can have it's
+own callbacks for every event. It is not possible to have multiple callbacks on
+the same event.
void
+_plugin_registercallback(
int
+pluginHandle, //plugin handle
CBTYPE cbType, //event
+type
CBPLUGIN cbPlugin //callback
+function
);
+
+
+
Parameters + + +
+pluginHandle: Handle of the calling plugin. + + +
+cbType: The event type. This can be any of the
+following values:
+CB_INITDEBUG, //callbackInfo:
+PLUG_CB_INITDEBUG*
CB_STOPDEBUG, //callbackInfo:
+PLUG_CB_STOPDEBUG*
CB_CREATEPROCESS, //callbackInfo:
+PLUG_CB_CREATEPROCESS*
CB_EXITPROCESS, //callbackInfo:
+PLUG_CB_EXITPROCESS*
CB_CREATETHREAD, //callbackInfo:
+PLUG_CB_CREATETHREAD*
+CB_EXITTHREAD, //callbackInfo:
+PLUG_CB_EXITTHREAD*
CB_SYSTEMBREAKPOINT, //callbackInfo:
+PLUG_CB_SYSTEMBREAKPOINT*
CB_LOADDLL, //callbackInfo:
+PLUG_CB_LOADDLL*
+CB_UNLOADDLL, //callbackInfo:
+PLUG_CB_UNLOADDLL*
CB_OUTPUTDEBUGSTRING, //callbackInfo:
+PLUG_CB_OUTPUTDEBUGSTRING*
+CB_EXCEPTION, //callbackInfo:
+PLUG_CB_EXCEPTION*
CB_BREAKPOINT, //callbackInfo:
+PLUG_CB_BREAKPOINT*
CB_PAUSEDEBUG, //callbackInfo:
+PLUG_CB_PAUSEDEBUG*
+CB_RESUMEDEBUG, //callbackInfo:
+PLUG_CB_RESUMEDEBUG*
CB_STEPPED //callbackInfo:
+PLUG_CB_STEPPED*
+
+
+
cbPlugin: Callback with the following
+typdef:
void
+CBPLUGIN(
CBTYPE bType //event
+type (useful when you use the same function for multiple
+events
void* callbackInfo //pointer to a
+structure of information (see above)
+);
+
+
+
+
Return Values
This function does not
+return a value.
+
+
+
+
_plugin_registercommand
This
+function registers a command for usage inside scripts or the command bar.
bool _plugin_registercommand(
int pluginHandle, //plugin
+handle
const char* command,
+//command
+name
CBPLUGINCOMMAND cbCommand, //function that is
+called when the command is executed
bool debugonly //restrict the command to
+debug-only
);
Parameters
+pluginHandle: Handle of the +calling plugin.
+command: Command name.
+cbCommand: Callback with the following
+typedef:
bool
+CBPLUGINCOMMAND(
int argc //argument count
+(number of arguments + 1)
char*
+argv[] //array of arguments (argv[0] is the full command, arguments
+start at argv[1])
);
debugonly: When set, the command will never be +executed when there is no target is being debugged.
+Return Values
This function returns
+true when the command was successfully registered, make sure to check this,
+other plugins may have already registered the same
+command.
+
_plugin_unregistercallback
This plugin unregisters a previously
+set callback. It is only possible to remove callbacks that were previously set using
+_plugin_registercallback.
bool _plugin_unregistercallback(
int pluginHandle,
+//plugin
+handle
CBTYPE cbType //callback type to
+remove
);
+
+
Parameters + +
+pluginHandle: Handle of the +calling plugin. + +
+cbType: The event type. This
+can be any of the following values:
+ CB_INITDEBUG,
+
+CB_STOPDEBUG,
+ CB_CREATEPROCESS,
+CB_EXITPROCESS,
+
+CB_CREATETHREAD,
+ CB_EXITTHREAD,
+CB_SYSTEMBREAKPOINT,
+ CB_LOADDLL,
+ CB_UNLOADDLL,
+
+CB_OUTPUTDEBUGSTRING,
+ CB_EXCEPTION,
+
+CB_BREAKPOINT,
+ CB_PAUSEDEBUG,
+
+ CB_RESUMEDEBUG,
+CB_STEPPED
+
+
Return Values
This function returns
+true when the callback was removed without problems.
+
+
_plugin_unregistercommand
This function removes a command set by a plugin.
+It is only possible to remove commands that you previously registered uing
+_plugin_registercommand.
bool
+_plugin_unregistercommand(
int pluginHandle, //plugin handle
const char* command //command
+name
);
Parameters
+pluginHandle: Handle of the +calling plugin.
+command: Command name.
+Return Values
This function returns true when the callback was
+removed without problems.
+ + + \ No newline at end of file diff --git a/help/cls.htm b/help/cls.htm index 0b93723d..829bad60 100644 --- a/help/cls.htm +++ b/help/cls.htm @@ -1,7 +1,7 @@ -