2015-08-17 1 views
0

J'essaie d'ajouter une jolie impression pour les objets STL dans mon application Eclipse/CDT (version Mars) à l'application de débogage à distance fonctionnant dans une carte ARM.Eclipse/CDT Joli impression avec débogage à distance

Je peux déboguer avec succès mon application en utilisant Eclipse et gdbserver. A cet effet, j'utiliser le fichier gdbinit suivant:

set sysroot remote:/ 

Je suis en train de suivre les étapes disponibles dans Teh Wiki Eclipse pour avoir la jolie impression pour les structures STL: http://wiki.eclipse.org/CDT/User/FAQ

J'ai téléchargé avec succès les fichiers de SVN, et ajouté les lignes indiquées à mon dossier gdbinit, qui est devenu:

set sysroot remote:/  
python 
import sys 
sys.path.insert(0, '/home/rvcpu/prettyprinting') 
from libstdcxx.v6.printers import register_libstdcxx_printers 
register_libstdcxx_printers (None) 
end 

Quand je commence la session de débogage je reçois l'erreur suivante sur la trace de gdb:

418,226 12-gdb-set target-wide-charset UTF-32 
418,227 12^done 
418,227 (gdb) 
418,228 13-gdb-set dprintf-style call 
418,228 13^done 
418,228 (gdb) 
418,232 14source /home/rvcpu/CodeSourcery/Sourcery_G++_Lite/bin/gdbinit 
418,232 &"source /home/rvcpu/CodeSourcery/Sourcery_G++_Lite/bin/gdbinit\n" 
418,232 =cmd-param-changed,param="sysroot",value="remote:/" 

je crois que je dois indiquer à GDB, en quelque sorte, que le script python est situé sur mon ordinateur hôte, pas la cible. Est-ce que quelqu'un sait comment faire ça?

Merci, Bernardo

Répondre

0

Vous devez ajouter que les lignes à .gdbinit sur la machine hôte et le répertoire python avec bibliothèque « libstdcxx » devrait être sur la machine hôte aussi. Et si vous avez un répertoire python dans le sous-répertoire "prettyprinting", vous devez définir ce répertoire qui contient le répertoire libstdcxx. Donc, si vous ici: imprimantes a

/home/rvcpu/prettyprinting/python/libstdcxx/v6/ 

vous devez insérer

/home/rvcpu/prettyprinting/python/ 

à votre sys.path en code python de .gdbinit.