lazarus/components/fpdebug/app/fpdserver
2015-06-21 18:10:51 +00:00
..
debugconsoleserver.pas FpDebugServer: Moved handling of the console to a separate thread. 2015-05-15 17:35:45 +00:00
debuginoutputprocessor.pas FpDebugServer: Added registers command 2015-06-21 10:11:52 +00:00
debugscriptserver.pas FpDebugServer: Fixed AV when a script contains an invalid command 2015-05-26 15:36:23 +00:00
debugtcpserver.pas FpDebugServer: Added --interactive option to return an easy parseable output with the tcp-port number. 2015-05-22 19:54:47 +00:00
debugthread.pas FpDebugServer: Added registers command 2015-06-21 10:11:52 +00:00
debugthreadcommand.pas DebuggerIntf: In r49328 #ec422cddc6 the nestedprocvars modeswitch is used. Bug report #28306 shows that this does not work on win32-fpc 2.6.4. Probably a compiler bug. This patch avoids the use of nestedprocvars with fpc versions 2.x.x 2015-06-21 18:10:51 +00:00
fpdserver.lpi FpDebugServer: Added option to run all debug-commands in a (script) file 2015-05-25 08:37:43 +00:00
fpdserver.lpr FpDebugServer: Added option to run all debug-commands in a (script) file 2015-05-25 08:37:43 +00:00
Info.plist
readme.txt FpDebugServer: 2015-05-17 11:09:50 +00:00

FPDebug-Server

The FPDebug-server contains a single fpdebug-thread to be able to debug one application at a time.

Multiple listeners can attach to this debug-thread so that they will receive messages from the fpdebug-thread about
the application being debugged.
The listeners can also send commands to the debug-thread, all listeners will receive information about all comands.

By default there are two listeners, one to communicate with the console. That way the debugger can be controlled from
the console. The other listener is setting up a tcp-server listening on port 9159. It's possible to connect to this
port using telnet to control the debugging.

In- and output are in a a json-format, but it is possible to register multiple formats.

The FPDebug-server could be used as a stand-alone debugger, controlled using the console. Or it could be used by other
front-ends using the tcp-listener. Multiple connections can be used to monitor what is happening.

The goal is to add a Lazarus as a front end. It can be used for remote-debugging, and it can be used to avoid the
necessity to sign the Lazarus-executable to be able to debug on OS/X. (Only the FPDebug-server has to be signed)

Joost van der Sluis, may 2015.