• # Semi résolu ...

    Posté par . En réponse au message gdbserver sur cible Mips et librairies compilées en statique. Évalué à 2.

    bon je réponds tout seul à mon problème :

    en fait je ne donnais pas le chemin des librairies à gdb. après lui avoir donné le chemin correct avec les options
    (gdb) set solib-absolute-prefix /dev/null
    (gdb) set solib-search-path /chemin_de_mes_lib

    j'arrive à débugger mon programme meme si mes librairies ne sont pas compilées en statique.

    j'ai maintenant un deuxième problème :
    Mon but est de réussir à débugger un programme multithread.
    J'ai réalisé comme dans le premier cas un programme test bidon initialisant 2 threads et qui fonctionne.

    Comme pour mon premier programme, j'arrive à le débugger s'il est compilé en statique mais pas autrement. Ce coup-ci les erreurs sont les suivantes :

    sur la machine de developpement :

    (gdb) target remote 192.168.1.1:10000
    Remote debugging using 192.168.1.1:10000
    0x2aaa8bc0 in ?? ()
    (gdb) b main
    Breakpoint 1 at 0x4009ec: file main.c, line 35.
    (gdb) c
    Continuing.

    Breakpoint 1, main () at main.c:35
    35 if (pthread_create(&filsA, NULL, thread1, "AA")) {
    (gdb) n
    0x00400c20 in ?? ()
    (gdb) n
    Cannot find bounds of current function


    Sur la cible :

    Process testgdb created; pid = 765
    Listening on port 10000
    Remote debugging from host 192.168.1.10
    gdb: error initializing thread_db library.
    gdb: error initializing thread_db library.
    gdb: error initializing thread_db library.


    J'ai bien définis le chemin des librairies avec les fonctions set solib-absolute-prefix et set solib-search-path. De meme, la librairie libpthread.so est bien présente dans le répertoire des librairies sur ma machine locale.