[fpc-devel] I have created a openocd debugger-interfaceforlazarus, now some questions

Justin Smyth delphian at smythconsulting.net
Tue Mar 19 13:45:46 CET 2013


i build from the trunk / svn alot so its good.

pls email me the patches.

Kind Regards


Justin

From: Michael Ring 
Sent: Tuesday, March 19, 2013 9:42 PM
To: FPC developers' list 
Subject: Re: [fpc-devel] I have created a openocd debugger-interfaceforlazarus, now some questions

In the last weeks I spent most of the time to actually use lazarus + the debugger-interface, I have identified some rough edges that I need to work arround but basically the code works when you do the steps in the right order.

How comfortable are you to rebuild lazarus-trunk? If you are fine with this I can send you my patches via mail & some instructions on how debugging works best.

Michael

Am 19.03.13 03:14, schrieb Justin Smyth:

  how close are we to adding openocd to the debugging in lazarus ?

  is there a simple configuration file to change or patch to use ?

  i want to be try openocd for debugging.


  King Regards


  Justin Smyth

  From: Martin 
  Sent: Friday, February 8, 2013 11:09 AM
  To: FPC developers' list 
  Subject: Re: [fpc-devel] I have created a openocd debugger-interface forlazarus, now some questions

  On 07/02/2013 23:51, Michael Ring wrote:


    Index: debugger/debugger.pp
    ===================================================================
    --- debugger/debugger.pp        (revision 40204)
    +++ debugger/debugger.pp        (working copy)
    @@ -3304,6 +3304,7 @@
    const
       OLD_GDB_DBG_NAME = 'GNU debugger (gdb)';
       OLD_SSH_DBG_NAME = 'GNU debugger through SSH (gdb)';
    +  OLD_REMOTE_DBG_NAME = 'GNU debugger through OpenOCD (gdb)';


  You should not need this.

  Older versions of the IDE used those strings in the XML. But now the IDE uses the classname.

  The 2 existing old names are kept so old config can be read.

  There is no old config for your class.


    var
       s: String;
    begin
    @@ -3314,6 +3315,7 @@
         s := ConfigStore.GetValue('Type', '');
         if s = OLD_GDB_DBG_NAME then FDebuggerClass:='TGDBMIDEBUGGER';
         if s = OLD_SSH_DBG_NAME then FDebuggerClass:='TSSHGDBMIDEBUGGER';
    +    if s = OLD_REMOTE_DBG_NAME then FDebuggerClass:='TOPENOCDGDBMIDEBUGGER';

  see above


    Index: debugger/gdbmidebugger.pp
    ===================================================================
    --- debugger/gdbmidebugger.pp   (revision 40204)
    +++ debugger/gdbmidebugger.pp   (working copy)
    @@ -4502,8 +4502,12 @@
           s := GetPart(['Thread '], [' '], R.Values, True);
           Result := StrToIntDef(s, 0);
           if Result <> 0 then exit;
    +
    +      // returned by openocd server
    +      s := GetPart(['* '], ['Remote target'], R.Values, True);
    +      Result := StrToIntDef(trim(s), 0);
    +      if Result <> 0 then exit;
         end;


  I'd rather factor all of the "get PID" code into a virtual method. (on the class TGDBMIDebuggerCommandStartDebugging)
  Actually that might be the entire "RunToMain"

  Then you can override it, and add there.

  That means you have to subclass TGDBMIDebuggerCommandStartDebugging. See the GDBMIServerDebugger haw to do that



------------------------------------------------------------------------------
  _______________________________________________
  fpc-devel maillist  -  fpc-devel at lists.freepascal.org
  http://lists.freepascal.org/mailman/listinfo/fpc-devel


   

_______________________________________________
fpc-devel maillist  -  fpc-devel at lists.freepascal.org
http://lists.freepascal.org/mailman/listinfo/fpc-devel




--------------------------------------------------------------------------------
_______________________________________________
fpc-devel maillist  -  fpc-devel at lists.freepascal.org
http://lists.freepascal.org/mailman/listinfo/fpc-devel
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.freepascal.org/pipermail/fpc-devel/attachments/20130319/7cd551be/attachment.html>


More information about the fpc-devel mailing list