Trochę mnie drażniło że nie ma tego w standardzie ;)
Jak by ktoś poszukiwał możliwości śledzenia aplikacji zdalnie za pomocą lazarus-a to popełniłem małą poprawkę w kodzie
To taka bardzo wczesna ale u mnie działająca poprawka ;)
gdbmidebugger.zip
http://forum.lazarus.freepascal.org/index.php?action=dlattach;topic=19014.0;attach=5139
Jak to uruchomić:
- Ściągnąć plik i zastapić gdbmidebugger.pp w źródłach lazarus-a
- Przekomponować IDE
- W opcjach Debuggera pojawiaja sie dodatkowo:
Debugger_Remote = TRUE
Debugger_Remote_Host = 'TARGET_HOSTNAME'
Debugger_Remote_Port = '2345'
-
Musimy w lazarus wybrać odpowiedni GDB dla naszej zdalnej platformy , najlepiej brać to co jest w toolchain użytym do
kompilacji systemu , aby był zgodny z wersją gdbserver na zdalnym komputerze.
W moim przypadku to "arm-linux-gnueabihf-gdb.exe" -
Musimy uruchomić aplikację na zdalnej maszynie za pomocą gdbserver
target> gdbserver host:2345 ./my_application -
F9 (aplikacja uruchamia się na zdalnym systemie)
Trochę jest upierdliwe że po każdym śledzeniu programu trzeba restartować IDE :(
Testowałem to na takim systemie
LOCAL SYSTEM
Windows XP
Codetyphon 3.0
Lazarus 1.1.0 Source from SVN 16-11-2012 Rev 39290
FreePascal 2.7.1 Source from SVN 16-11-2012 Rev 23001
GDB 7.5 GNU gdb (crosstool-NG linaro-1.13.1-2012.09-20120921 - Linaro GCC 2012.09) 7.5-2012.09
REMOTE
Komputer z ARM http://www.toradex.com/Products/Colibri/Modules/Colibri-T20-512
Teoretycznie powinno to działać nie tylko w takiej konfiguracji
ale nie testowałem ;)