Précédent   Forum du club des développeurs et IT Pro > C et C++ > Outils pour C & C++ > GDB
Partagez cette discussion sur d'autres réseaux sociaux : Viadeo Twitter Google Facebook Digg Delicious MySpace Yahoo
Réponse
 
Outils de la discussion
Publicité
'
Vieux 11/02/2010, 18h00   #1
Florian Goo
Membre chevronné
 
Avatar de Florian Goo
 
Inscription : septembre 2008
Messages : 680
Détails du profil
Informations personnelles :
Âge : 27
Localisation : France, Paris (Île de France)

Informations forums :
Inscription : septembre 2008
Messages : 680
Points : 775
Points : 775
Par défaut Insight (frontend GDB) impossible à compiler

Bonjour à tous,

Je code en C++ sous Windows et ne souhaite pas utiliser d'IDE.
J'utilise GVim (éditeur de texte), couplé à MinGW (GCC pour Windows) et CMake. J'aime beaucoup cet environnement, mais il me manque un frontend pour GDB (le débuggeur de GCC).

Deux noms sortent du lot : Insight et DDD.

J'ai opté pour le premier. Je me suis rendu sur le site officiel pour télécharger le code source (pas de binaire disponible).
J'ai installé MSYS (environnement pseudo-unix permettant entre autres de compiler facilement un projet nécessitant la commande « ./configure && make && make install ») en suivant ces indications : http://www.mingw.org/wiki/msys .

Le configure se passe sans encombre, mais la compilation s'interrompt lors du linking de la bibliothèque TCL :
Code :
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
 
[]
gcc -shared -g -O2  -o tcl84.dll -mwin32                -Wl,--out-implib,libtcl8
4.a regcomp.o regexec.o regfree.o regerror.o tclAlloc.o tclAsync.o tclBasic.o tc
lBinary.o tclCkalloc.o tclClock.o tclCmdAH.o tclCmdIL.o tclCmdMZ.o tclCompCmds.o
 tclCompExpr.o tclCompile.o tclDate.o tclEncoding.o tclEnv.o tclEvent.o tclExecu
te.o tclFCmd.o tclFileName.o tclGet.o tclHash.o tclHistory.o tclIndexObj.o tclIn
terp.o tclIO.o tclIOCmd.o tclIOGT.o tclIOSock.o tclIOUtil.o tclLink.o tclLiteral
.o tclListObj.o tclLoad.o tclMain.o tclNamesp.o tclNotify.o tclObj.o tclPanic.o
tclParse.o tclParseExpr.o tclPipe.o tclPkg.o tclPosixStr.o tclPreserve.o tclProc
.o tclRegexp.o tclResolve.o tclResult.o tclScan.o tclStringObj.o tclStubInit.o t
clStubLib.o tclThread.o tclThreadAlloc.o tclThreadJoin.o tclTimer.o tclUtf.o tcl
Util.o tclVar.o tclWin32Dll.o tclWinChan.o tclWinConsole.o tclWinSerial.o tclWin
Error.o tclWinFCmd.o tclWinFile.o tclWinInit.o tclWinLoad.o tclWinMtherr.o tclWi
nNotify.o tclWinPipe.o tclWinSock.o tclWinThrd.o tclWinTime.o  strftime.o strtol
l.o strtoull.o tcl.res.o
Creating library file: libtcl84.a
tclWinChan.o: In function `Tcl_MakeFileChannel':
C:\msys\1.0\home\florian\insight\build\tcl\win/../../../src/tcl/win/tclWinChan.c:
1052: undefined reference to `ESP'
C:\msys\1.0\home\florian\insight\build\tcl\win/../../../src/tcl/win/tclWinChan.c:
1052: undefined reference to `EBP'
C:\msys\1.0\home\florian\insight\build\tcl\win/../../../src/tcl/win/tclWinChan.c:
1067: undefined reference to `ESP'
C:\msys\1.0\home\florian\insight\build\tcl\win/../../../src/tcl/win/tclWinChan.c:
1067: undefined reference to `EBP'
collect2: ld returned 1 exit status
make[3]: *** [tcl84.dll] Error 1
make[3]: Leaving directory `/home/florian/insight/build/tcl/win'
make[2]: *** [all] Error 2
make[2]: Leaving directory `/home/florian/insight/build/tcl'
make[1]: *** [all-tcl] Error 2
make[1]: Leaving directory `/home/florian/insight/build'
make: *** [all] Error 2
Suis-je le seul dans cette situation ?
Y a-t-il des utilisateurs d'Insight travaillant sous Windows ? Si oui, avez-vous suivi ces étapes pour installer Insight ?

(Quant à DDD, j'ai tenté la même opération sans succès. Mais ce sera peut-être l'objet d'un autre topic.)

Merci.
__________________
Cours : Initiation à CMake
Projet : Scalpel, bibliothèque d'analyse de code source C++ (développement en cours)
Ce message a été tapé avec un clavier en disposition bépo.
Florian Goo est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 12/02/2010, 11h30   #2
3DArchi
Rédacteur/Modérateur
 
Avatar de 3DArchi
 
Inscription : juin 2008
Messages : 7 631
Détails du profil
Informations forums :
Inscription : juin 2008
Messages : 7 631
Points : 12 159
Points : 12 159
Salut Florian,
Essaie Visual C++ Express
J'ai trouvé ce conseil :
Citation:
Here is the solution to this problem:

Change lines:
static void *ESP;
static void *EBP;

to

static void *ESP __attribute__ ((used));
static void *EBP __attribute__ ((used));
Pour quelqu'un qui se plaignait des mêmes symptômes mais dans un autre contexte.
__________________
Ressources proposées par 3DArchi.
Les fonctions virtuelles en C++.
3DArchi est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 15/02/2010, 11h44   #3
Florian Goo
Membre chevronné
 
Avatar de Florian Goo
 
Inscription : septembre 2008
Messages : 680
Détails du profil
Informations personnelles :
Âge : 27
Localisation : France, Paris (Île de France)

Informations forums :
Inscription : septembre 2008
Messages : 680
Points : 775
Points : 775
Merci Archi, c'était bien ça .

J'ajouterais quelques autres modifs nécessaires :
- retirer les casts des lignes correspondant aux erreurs « lvalue required… » (caster une lvalue, quelque chose m'échappe…) ;
- ajouter des « return 0; » à la fin des fonctions non-void qui ne contiennent aucune instruction return.

Et maintenant j'ai un « bidule may be used uninitialized » qui vient de me couper l'envie d'utiliser ce truc.
Je vais chercher autre chose qu'Insight, parce que si c'est aussi chiant à utiliser qu'à compiler, je sens que je vais me faire du mal .

EDIT : Suite à ce hurlement primaire nécessaire, j'ai corrigé les dernières erreurs de compilation. Il y a deux tableaux qu'il faut initialiser avec = {0}.
Les utilisateurs de MSYS comme moi (et non ceux de Cygwin) doivent en plus appliquer un patch : http://sourceware.org/ml/gdb-patches.../msg00214.html

J'ai enfin réussi à lancer une IHM \o/.
Ça a intérêt à être vachement bien, ce bidule…

Merci pour ton aide, Archi !
__________________
Cours : Initiation à CMake
Projet : Scalpel, bibliothèque d'analyse de code source C++ (développement en cours)
Ce message a été tapé avec un clavier en disposition bépo.
Florian Goo est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 16/02/2010, 08h16   #4
3DArchi
Rédacteur/Modérateur
 
Avatar de 3DArchi
 
Inscription : juin 2008
Messages : 7 631
Détails du profil
Informations forums :
Inscription : juin 2008
Messages : 7 631
Points : 12 159
Points : 12 159
Salut Florian,
Un petit retour d'expérience quand t'auras tâté la chose deux ou trois fois sera le bienvenu
__________________
Ressources proposées par 3DArchi.
Les fonctions virtuelles en C++.
3DArchi est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 03/03/2010, 12h03   #5
trois_1
Membre du Club
 
Inscription : juin 2002
Messages : 180
Détails du profil
Informations forums :
Inscription : juin 2002
Messages : 180
Points : 60
Points : 60
Envoyer un message via MSN à trois_1
sinon, autre solution que je pense possible, pourquoi ne pas utiliser le debug frontend avec eclipse CDT?
__________________
N'hésitez pas à dialoguer en direct avec moi
trois_1 est déconnecté   Envoyer un message privé Réponse avec citation 00
Réponse Cette discussion est résolue.
Outils de la discussion

Navigation rapide


Fuseau horaire GMT +2. Il est actuellement 08h05.


 
 
 
 
Partenaires

Hébergement Web