Difference between revisions of "TDebuggerIntf"

From Free Pascal wiki
Jump to navigationJump to search
Line 3: Line 3:
 
Any debugger plug-in must implement the class and register via '''RegisterDebugger''' (called at '''Register''' of registering unit).
 
Any debugger plug-in must implement the class and register via '''RegisterDebugger''' (called at '''Register''' of registering unit).
  
 +
==Minimal Implementation==
 +
The following methods must be implemented for TDebbugerIntf
 +
* GetSupportedCommands - returns the set of formats that a debugger can perform
 +
* RequestCommand - the method actually performing commands. Only commands returned by '''GetSupportedCommands''' would be passed to this method
 +
==Methods==
 
===RequestCommand===
 
===RequestCommand===
 +
 
==Development Hints==
 
==Development Hints==
 
* it might be helpful to rebuild IDE adding '''VerboseDebugger''' define ( -dVerboseDebugger ), so the all the steps of IDE attempting to call a debugger would be logged.
 
* it might be helpful to rebuild IDE adding '''VerboseDebugger''' define ( -dVerboseDebugger ), so the all the steps of IDE attempting to call a debugger would be logged.
  
 
[[Category:Debugging]]
 
[[Category:Debugging]]

Revision as of 20:35, 23 October 2017

TDebuggerIntf is the base class of implementing a debugger as Lazarus-IDE plugin package. The package must have DebuggerIntf package as it's requirements. Any debugger plug-in must implement the class and register via RegisterDebugger (called at Register of registering unit).

Minimal Implementation

The following methods must be implemented for TDebbugerIntf

  • GetSupportedCommands - returns the set of formats that a debugger can perform
  • RequestCommand - the method actually performing commands. Only commands returned by GetSupportedCommands would be passed to this method

Methods

RequestCommand

Development Hints

  • it might be helpful to rebuild IDE adding VerboseDebugger define ( -dVerboseDebugger ), so the all the steps of IDE attempting to call a debugger would be logged.