.titleBar { margin-bottom: 5px!important; }

Remotedebugging auf der FB

Dieses Thema im Forum "FRITZ!Box Fon: Modifikationen" wurde erstellt von bodega, 6 Dez. 2006.

  1. bodega

    bodega Aktives Mitglied

    Registriert seit:
    6 Juni 2006
    Beiträge:
    1,980
    Zustimmungen:
    1
    Punkte für Erfolge:
    0
    Ort:
    NRW
    Hallo!

    Hat es schonmal jemand geschafft, auf der FB einen Remote-Debugger laufen zu lassen? Wie macht man das? Würde mich mal interessieren, da größere Projekte ohne IDE schwer zu entwickeln sind. Welche IDE könnt ihr mir empfehlen (für C/C++)? Ich hab mir mal Eclipse angeschaut, fühlt sich aber noch etwas holprig an...
     
  2. olistudent

    olistudent IPPF-Urgestein

    Registriert seit:
    19 Okt. 2004
    Beiträge:
    14,756
    Zustimmungen:
    1
    Punkte für Erfolge:
    0
    Beruf:
    Softwareentwickler
    Ort:
    Kaiserslautern
    Hi.
    Du brauchst den gdbserver aus dem gdb-Package. Den musst du auf der Fritz starten (./gdbserver -options ./binary). Der Server öffnet einen Port und wartet auf die Verbindung.
    Jetzt brauchst gdb auf dem Host und der muss für mipsel-linux gebaut sein. Es geht also nicht der "Normale". Dann muss man dem noch sagen wo die shared-Libraries sind. Oder man debugt gleich ein static binary. Außerdem darf das Binary natürlich nicht gestrippt sein und CFLAGS+=-g
    Leider hab ich es mit GUI auf noch nicht so richtig hinbekommen. Mit ddd stürzt die ganze Sache andauernd ab und mit Eclipse vergisst er laufend die Debbuging-Options.

    MfG Oliver
     
  3. bodega

    bodega Aktives Mitglied

    Registriert seit:
    6 Juni 2006
    Beiträge:
    1,980
    Zustimmungen:
    1
    Punkte für Erfolge:
    0
    Ort:
    NRW
    Danke.

    Ich werd dann mal ein wenig probieren... schade, das Eclipse die einzige Alternative scheint.
     
  4. olistudent

    olistudent IPPF-Urgestein

    Registriert seit:
    19 Okt. 2004
    Beiträge:
    14,756
    Zustimmungen:
    1
    Punkte für Erfolge:
    0
    Beruf:
    Softwareentwickler
    Ort:
    Kaiserslautern
    Hier gibts eine Anleitung für den ddd. Und Eclipse fänd ich gut, wenn es denn richtig funktionieren würde...

    MfG Oliver
     
  5. bodega

    bodega Aktives Mitglied

    Registriert seit:
    6 Juni 2006
    Beiträge:
    1,980
    Zustimmungen:
    1
    Punkte für Erfolge:
    0
    Ort:
    NRW
    #5 bodega, 6 Dez. 2006
    Zuletzt bearbeitet: 6 Dez. 2006
    Mhh.. ich versuch gerad den gdb 6.5 zu kompilieren.
    Das schlägt aber bei termcap fehl. Hab jetzt termcap kompiliert, aber der Fehler kommt immer noch. Lass ich termcap aus dem configure-script weg, kommen viele undefiened references (irgendwie klar ;))
    Den gdbserver hab ich bereits. Jetzt fehlt noch gdb.

    EDIT:
    ich probier mal ncurses.

    EDIT:
    ok, ncurses bringt auch nicht viel mehr.

    Code:
    checking for libunwind-ia64.h... (cached) no
    checking for monstartup... (cached) yes
    checking for _mcleanup... (cached) yes
    checking for _etext... (cached) yes
    checking for gawk... (cached) gawk
    checking for a BSD-compatible install... /usr/bin/install -c
    checking whether ln -s works... yes
    checking for mipsel-linux-ranlib... (cached) mipsel-linux-ranlib
    checking for bison... (cached) bison -y
    checking for mipsel-linux-ar... (cached) mipsel-linux-ar
    checking for mipsel-linux-dlltool... (cached) mipsel-linux-dlltool
    checking for mipsel-linux-windres... (cached) mipsel-linux-windres
    checking for mipsel-linux-mig... no
    checking for mig... no
    checking for main in -lm... (cached) yes
    checking for wctype... (cached) no
    checking for wctype in -lw... (cached) no
    checking for library containing gethostbyname... (cached) none required
    checking for library containing socketpair... (cached) none required
    checking for library containing waddstr... (cached) no
    checking for library containing tgetent... (cached) no
    configure: error: no termcap library found
    make[1]: *** [configure-gdb] Fehler 1
    make[1]: Leaving directory `/home/maz/gdb-6.5'
    make: *** [all] Fehler 2
    
     
  6. bodega

    bodega Aktives Mitglied

    Registriert seit:
    6 Juni 2006
    Beiträge:
    1,980
    Zustimmungen:
    1
    Punkte für Erfolge:
    0
    Ort:
    NRW
    Das lässt mir auch keine Ruhe ;)
    Hab's nun hingekriegt:

    Code:
    mipsel-linux-gcc -g -O2       \
                    -o gdb gdb.o libgdb.a \
                      ../sim/mips/libsim.a ../readline/libreadline.a \
    ../opcodes/libopcodes.a ../bfd/libbfd.a  ../libiberty/libiberty.a     \
    -lm  ../libiberty/libiberty.a  -ldl -rdynamic [COLOR="Red"]-lncurses[/COLOR]
    
    ncurses hat er zwar nicht gefunden, konnte das aber damit hinbiegen.
     
  7. bodega

    bodega Aktives Mitglied

    Registriert seit:
    6 Juni 2006
    Beiträge:
    1,980
    Zustimmungen:
    1
    Punkte für Erfolge:
    0
    Ort:
    NRW
    Kann es sein, dass der gdb nicht für mipsel-linux kompiliert werden muss, sondern nur als target angegeben wird?
     
  8. olistudent

    olistudent IPPF-Urgestein

    Registriert seit:
    19 Okt. 2004
    Beiträge:
    14,756
    Zustimmungen:
    1
    Punkte für Erfolge:
    0
    Beruf:
    Softwareentwickler
    Ort:
    Kaiserslautern
    Äh, ja. Hab ich mich da falsch ausgedrückt? Der gdbserver muss auf der Fritz laufen, der gdb läuft auf dem Host.

    MfG Oliver
     
  9. bodega

    bodega Aktives Mitglied

    Registriert seit:
    6 Juni 2006
    Beiträge:
    1,980
    Zustimmungen:
    1
    Punkte für Erfolge:
    0
    Ort:
    NRW
    So.. hab mir nun ddd angeschaut und funktioniert auch ganz gut (solange "All Signals stop" nicht gewählt wird).
    Problem ist nur, dass der gdbserver sich hin und wieder beendet. Das kriegt man aber über ein Skript hin.

    Anonsten eine tolle Sache :)