Remote Debugger.

0

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ć:

  1. Ściągnąć plik i zastapić gdbmidebugger.pp w źródłach lazarus-a
  2. Przekomponować IDE
  3. W opcjach Debuggera pojawiaja sie dodatkowo:

Debugger_Remote = TRUE
Debugger_Remote_Host = 'TARGET_HOSTNAME'
Debugger_Remote_Port = '2345'

  1. 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"

  2. Musimy uruchomić aplikację na zdalnej maszynie za pomocą gdbserver
    target> gdbserver host:2345 ./my_application

  3. 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 ;)

0
  1. Ściągnąć plik i zastapić gdbmidebugger.pp w źródłach lazarus-a

O patchu słyszał?

Jak by ktoś poszukiwał możliwości śledzenia aplikacji zdalnie za pomocą lazarus-a to popełniłem małą poprawkę w kodzie

To czemu nam o tym mówisz a nie publikujesz tego na bugtrackerze Lazarusa? Tam by to po prostu dołączyli do SVNa. Więc nie rozumiem czemu to publikujesz tutaj.

Tak przy okazji to polecam poćwiczyć troszkę angielski At this momenty don't work PAUSE i BREAK execution. twoje i to AND po angielsku, momenty też nie istnieje. Już o złym czasie nie wspominając.

Generalnie to bardzo się cieszę że wspomagasz moje ulubione IDE, ale gdy już publikujesz coś to poświęć chwilę na sprawdzenie postu na obecność oczywistych błędów (W Operze jest np.: prawoklik->Słowniki->English) i dowiedz się jak się publikuje fixy i patche, bo robi się to używając bugtrackera nie forum Lazarusa ani 4programmers. Mam nadzieję że więcej razy nie będę musiał tobie wytykać tak oczywistych błędów, bo aż szkoda że ktoś na coś poświęci czas, opublikuje to i trzeba go jeszcze za to opierniczać.

1 użytkowników online, w tym zalogowanych: 0, gości: 1