[Lazarus] debugging interface method calls

David Emerson dle3ab at angelbase.com
Wed Feb 1 04:36:16 CET 2017


Hi all,

It seems that when I am stepping through my code, when there is an 
interface function call, the debugger will not step into the function call.

Is there a way to make it step in?

Or maybe there is a limitation with GDB or lazarus or something?

Below is example code

Thanks!
~David.

program intf_debug;

{$mode objfpc}{$H+}
{$interfaces corba}

uses
   classes,
   sysutils;

type
   i_test = interface
     ['{aa}']
     function do_test : boolean;
     end;

   t_test = class (tobject, i_test)
     function do_test : boolean;
     end;

function t_test.do_test: boolean;
   begin
     writeln ('hi');
     result := true;
   end;

var
   t : t_test;
   i : i_test;

begin
   t := t_test.create;
   t.do_test; // If I press F7 here, it steps into t_test.do_test
   supports (t, i_test, i);
   i.do_test; // F7 steps over, not into t_test.do_test
end.




More information about the Lazarus mailing list