[fpc-devel] I have created a openocd debugger-interface for lazarus, now some questions

Martin lazarus at mfriebe.de
Thu Feb 7 16:04:54 CET 2013


On 07/02/2013 07:14, Michael Ring wrote:
>
> One more thing, do you know why ExecuteCommand is defined as protected 
> and not public in GDBMIDebugger? I need to send some extra commands to 
> GDB to make the remote connection, using ExecuteCommand is an elegant 
> way to do this. But the method is invisible in my class because it is 
> protected. Can the ExecuteCommand methods be made public or is this a 
> no-go?
They (the ones in GDBMIDebugger, not the ones in TGDBMIDebuggerCommand) 
should be deprecated and removed.

All commands must go via TGDBMIDebuggerCommand. This is because GDB may 
need to be set into the correct state (select thread/stack).
The ones in TGDBMIDebugger are left overs from long ago. They do work, 
because they do actually encapsulate the command in a TGDBMIDebuggerCommand

I have plans to change this and introduce a new "inner" queue, that will 
automatically da the necessary thread/stack selection.

Then also the TGDBMIDebuggerCommand should be changed, so they do not 
expect a result from a gdb command, but assign an event, and get called 
back. So ProcessMessages will no longer be needed.
But that is still some time to go.

---
As for you, You should be able to inherit from TGDBMIDebuggerCommand?

Also I do not understand why you do not see a protected class. You do 
inherit from TGDBMIDebugger? And if you have helper objects, then you 
can create a public wrapper in your main class.


>
> Which GDB version is your prefered version for debugging FreePascal?
I run the testcase for gdb 6.3 to 7.5. So the IDE can communicate with 
all of those.

On Mac, apple provides a modified 6.3.5

On Windows (at least 32 bit) I recommend 7.2.  7.3 up has some 
regressions http://wiki.lazarus.freepascal.org/GDB_Debugger_Tips#Bugs_in_GDB
Win64 I am not sure

On Linux any 7.x should be fine

-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.freepascal.org/pipermail/fpc-devel/attachments/20130207/249a495d/attachment.html>


More information about the fpc-devel mailing list