Comment configurer Eclipse pour la distance C de débogage avec gdbserver?
Je suis assez nouveau pour Eclipse. Essayer de mettre en place le déboguage à distance.
Voici la situation, je suis de la connexion à l'ordinateur distant exécutant Linux, je suis en cours d'exécution de Windows.
1) j'ai installé tous les outils nécessaires pour Eclipse, et a été en mesure de se connecter à la machine Linux.
2) de la machine Distante a gdbserver
linux1[1]% gdbserver
Usage: gdbserver [OPTIONS] COMM PROG [ARGS ...]
gdbserver [OPTIONS] --attach COMM PID
gdbserver [OPTIONS] --multi COMM
COMM may either be a tty device (for serial debugging), or
HOST:PORT to listen for a TCP connection.
Options:
--debug Enable debugging output.
Ai-je besoin de configurer quoi que ce soit dans gdbserver
???
3) Que dois-je configurer dans Eclipse ? pour le débogage à distance ?
4) il importe que mon GDB version est différente de la Machine distante GDB ?
Personne n'????????
Double Possible de débogage à Distance des applications C++ avec Eclipse CDT/RSE/RDT
Double Possible de débogage à Distance des applications C++ avec Eclipse CDT/RSE/RDT
OriginalL'auteur newprint | 2010-10-28
Vous devez vous connecter pour publier un commentaire.
gdbserver
besoin de plus d'arguments. Par exemple, diregdbserver localhost:1337 yourprogram yourprogramarguments
et de le garder en cours d'exécution.Puis, dans Eclipse, créez une nouvelle configuration de débogage pour une "Application C/C++". Dans l'onglet principal, sur le fond, choisissez
GDB (GSF) Remote System Process Launcher
comme lanceur. Sur le débogueur onglet, choisissezgdbserver Debugger
que le débogueur. Sous connexion, direTCP
comme type de connexion et de donnerlocalhost:1337
comme adresse. Lorsque vous lancez la configuration, vous pouvez contrôler la télécommandegdb
par la saisie de commandes dans la console.OriginalL'auteur dennycrane
CLI sanity check
Avant de faire quoi que ce soit, assurez-vous de:
Cette réponse suppose que vous pouvez le faire sur le conseil de développement:
Et sur l'hôte:
et puis l'étape de débogage tout correctement.
Eclipse installation
Testé sous Ubuntu 16.04 hôte, l'Éclipse de l'Oxygène 4.7.0 (téléchargé depuis le site internet),
gdbserver
7.12,aarch64-linux-gnu-gdb
7.6.J'ai utilisé avec succès l'ensemble des méthodes suivantes:
Manuel
Avec cette méthode, nous avons pour lancer
gdbserver
sur la cible avant l'exécution de debug d'Eclipse.Pro: dispense de la configuration des connexions SSH à travers Eclipse pour permettre Eclipse pour exécuter
gdbserver
, qui est un autre point de défaillance.Con: vous avez à relancer
gdbserver
à chaque fois le débogage débute. Ce problème pourrait être surmonté si l'Éclipse comprisgdbserver --multi
, mais je ne le pense pas?En raison de sa simplicité, je recommande que vous obtenez cette méthode de travail en premier.
Ouvrir le debug configurations, puis créer un nouveau "C /C++ Application à Distance".
Sous l'onglet "Principal":
sélectionnez le "Nom à", "projeter" et "Application C/C++" comme d'habitude pour un local de débogage
au bas launcher, cliquez sur "Sélectionner d'autres", cochez la case "Utiliser la configuration spécifique de paramètres" et choisissez "GDB (FSN) Manuel de Débogage à Distance du Lanceur"
Pourquoi nous faisons cela: le lanceur automatique se connecte d'abord au conseil d'administration avec SSH et lance le
gdbserver
pour vous.Sous l'onglet "Débogueur":
"Débogueur GDB": la même que celle utilisée à partir de la CLI sur l'hôte,
aarch64-linux-gnu-gdb
pour cet exempleSous-onglet "Connexion": définir le nom d'hôte et le port comme transmis à l'hôte sur le CLI (
board-hostname
et1234
)Enfin, lancer manuellement
gdbserver
sur la cible, comme nous l'avons fait à partir de la CLI:et démarrer le débogueur de Eclipse normalement.
Vous devez redémarrer
gdbserver
chaque fois que vous terminez le programme.Automatique avec mot de passe auth
C'est la meilleure méthode pour les conseils de développement, qui ont résolu connu du public les mots de passe.
Il se connecte à la cible avec SSH et un mot de passe, et lance
gdbserver
sur la cible automatiquement à chaque fois, ce qui est super pratique!Cible
gdbserver
stdout va à l'Éclipse fenêtre "Console", ce qui a encore réduit la fenêtre de commutation.Dans Eclipse jeu:
pour le C/C++ de l'Application" à
/root/path/to/project/path/to/executable
Automatique avec clé publique
Très similaire à l'authentification par mot de passe, sauf que vous devez aller à: "Connexion", "Nouveau", et choisissez "clé Publique authentification basée sur les"
Pour:
Contre:
donc, je préfère cette méthode pour les serveurs.
SSH permet de se connecter sans mot de passe si vous:
~/.ssh/authorized_keys
sur la cible pour contenir la~/.ssh/id_rsa.pub
à partir de l'hôteAvant d'utiliser cette méthode, assurez-vous que vos clés autorisées travailler à partir de la ligne de commande, c'est à dire, vous devriez maintenant être en mesure de le faire:
sans avoir à taper de mot de passe.
OriginalL'auteur Ciro Santilli 新疆改造中心 六四事件 法轮功