7 votes

Besoin de déboguer du code mixte "C et C++" exécuté dans docker

Jusqu'à présent, j'ai pu comprendre ce qui suit à propos de Docker :

  1. Vous pouvez l'utiliser pour conteneuriser votre application - sandboxing.

  2. Vous pouvez l'utiliser comme un conteneur de construction, en "liant le montage" de votre répertoire de code source et en utilisant les outils de construction à l'intérieur du conteneur pour le construire.

J'utilise Docker pour le deuxième cas d'utilisation.

Question :

J'ai un projet avec des composants mixtes C et C++, que je veux développer entièrement dans un conteneur docker, car il nécessite beaucoup de configuration de l'environnement et a de vieilles dépendances de bibliothèque, et je ne veux pas polluer l'environnement de ma machine de développement (hôte).

Je suis capable de le construire dans Docker en utilisant "gcc" mais je n'arrive pas à trouver comment le déboguer.

J'ai essayé de le déboguer avec gdbserver sur un port réseau et d'attacher son processus dans Eclipse CDT (sur l'hôte), mais il ne renvoie pas à mon code source. Il affiche plutôt le code d'assemblage.

J'aimerais qu'elle renvoie à mon code source pour faciliter le débogage. Quelqu'un peut-il me suggérer un flux de travail approprié ou m'indiquer la bonne direction ?

-2voto

AVIK DUTTA Points 106

GDB est un débogueur pour Linux qui peut déboguer à la fois c et c++.

tout ce que vous devez faire est de compiler avec l'option -g option gdb ./filename

gcc -o test test.c -g

gdb ./test

Prograide.com

Prograide est une communauté de développeurs qui cherche à élargir la connaissance de la programmation au-delà de l'anglais.
Pour cela nous avons les plus grands doutes résolus en français et vous pouvez aussi poser vos propres questions ou résoudre celles des autres.

Powered by:

X