gdb échoue avec l'erreur 193 lors du débogage de MinGW-code compilé
Cela est montré quand j'ai essayer de déboguer mon code avec Eclipse:
le texte d'alt http://img63.imageshack.us/img63/1679/eclipseerr.jpg
J'ai ensuite essayé de créer un simple Hello World programme manuellement avec Notepad++ et de la ligne de commande gcc
. Quand j'ai lancé le débogueur gdb ce qui s'est passé:
(gdb) run
De démarrage du programme:
C:\Documents and
Settings\Pieter\Bureaublad/test.exe
Erreur de création du processus C:\Documents
et
Settings\Pieter\Bureaublad/test.exe,
(erreur 193).
Le binaire se passe bien, mais dès que j'essaie de le corriger l'erreur 193 est retourné. Je suis en train de travailler avec du code C qui est traité par le compilateur GCC. J'ai essayé de réinstaller le compilateur et le débogueur (dernières versions), mais qui n'a rien changé. Il a travaillé dans le passé, et je ne me souviens pas de faire tous les changements de paramètres liés au compilateur.
Voici un exemple de journal des erreurs qu'il a été généré par Eclipse.
!ENTRÉE org.eclipse.cdt.dsf.gdb 4 5012
2010-02-09 18:19:47.375 !MESSAGE d'Erreur
en finale de la séquence de lancement !PILE 1
org.eclipse.de base.moment de l'exécution.CoreException:
Échec de l'exécution de MI commande:
-exec-run message d'Erreur à partir du débogueur de back-end: Erreur de création du processus
C:/Documents and Settings/Pieter/Mijn
documenten/Mon
Dropbox/Unief/C/H12/Opdr07/Debug/CH12O07.exe,
(erreur 193). au
org.eclipse.cdt.dsf.de façon concomitante.La séquence.abortExecution(Séquence.java:560)
au
org.eclipse.cdt.dsf.de façon concomitante.La séquence.accès à 4$(Séquence.java:552)
au
org.eclipse.cdt.dsf.de façon concomitante.Séquence de$2.handleErrorOrWarning(Séquence.java:424)
au
org.eclipse.cdt.dsf.de façon concomitante.RequestMonitor.handleFailure(RequestMonitor.java:314)
au
org.eclipse.cdt.dsf.de façon concomitante.RequestMonitor.handleCompleted(RequestMonitor.java:277)
au
org.eclipse.cdt.dsf.de façon concomitante.RequestMonitor$2.exécuter(RequestMonitor.java:239)
au
java.util.de façon concomitante.Les Exécuteurs$RunnableAdapter.appel Inconnu
Source)
java.util.de façon concomitante.FutureTask$De Synchronisation.innerRun(Inconnu
Source)
java.util.de façon concomitante.FutureTask.run(Unknown
Source)
java.util.de façon concomitante.ScheduledThreadPoolExecutor$ScheduledFutureTask.l'accès$301(Inconnu
Source)
java.util.de façon concomitante.ScheduledThreadPoolExecutor$ScheduledFutureTask.run(Unknown
Source)
java.util.de façon concomitante.ThreadPoolExecutor$Par Travailleur.runTask(Inconnu
Source)
java.util.de façon concomitante.ThreadPoolExecutor$Par Travailleur.run(Unknown
Source)
java.lang.Fil de discussion.run(Unknown Source)
!Sous-entrée 1 org.eclipse.cdt.dsf.gdb 4
10004 2010-02-09 18:19:47.546 !MESSAGE
Échec de l'exécution de MI commande:
-exec-run message d'Erreur à partir du débogueur de back-end: Erreur de création du processus
C:/Documents and Settings/Pieter/Mijn
documenten/Mon
Dropbox/Unief/C/H12/Opdr07/Debug/CH12O07.exe,
(erreur 193).
J'ai ajouté un journal d'erreur de l'extrait ci-dessus.
Aussi, dans le passé j'ai été en mesure de compiler le code qui a été stockés dans des répertoires avec des espaces dans leur nom.
OriginalL'auteur Pieter | 2010-02-09
Vous devez vous connecter pour publier un commentaire.
Pourrait-il que ce soit vous utilisez une ancienne version de gdb, qui ne prend pas en charge native de MinGW débogage (peu probable puisque vous avez dit que vous avez mis à jour vers la dernière version), ou vous êtes invoquant le débogueur de manière incorrecte? En d'autres termes, si votre exécutable nommé
helloworld.exe
,gdb helloworld
peut vous donner qu'une erreur, alors quegdb helloworld.exe
peut travailler.Modifier: plus de googler dit que le fait d'essayer un nom de répertoire sans espace pourrait fonctionner (la solution est Code::Blocks, mais il ne fait pas de mal d'essayer).
Vous avez raison, pour une raison quelconque, le débogueur n'aime pas les noms de répertoire avec des espaces entre eux. Mais cela n'explique pas pourquoi Eclipse utilisé pour être en mesure de déboguer des programmes comme celui-ci à l'intérieur de la même structure de répertoire qui contenait des espaces dans certains noms de dossier. Je pense que je suis sur quelque chose: mingw.org/wiki/Getting_Started
Mettre le fichier EXE dans un chemin qui ne contient pas d'espaces fonctionne, mais je ne peux pas utiliser Eclipse pour le débogage. Les patchs ou les solutions que je peux essayer?
J'ai trouvé eclipse.org/forums/index.php?&t=msg&th=46794>, regarde donc comme votre meilleur pari est d'utiliser un dossier sans espaces pour l'instant.
Peut-être essayer shell-shocked.org/article.php?id=284#proggies, en particulier la "jonction" programme être en mesure de vous aider avec des liens symboliques. Je suis totalement d'sentez que votre frustration. Jonction semble être dans le technet.microsoft.com/en-us/sysinternals/bb896768.aspx, et ici est une liste de plus de programmes: blog.taragana.com/index.php/archive/...
OriginalL'auteur Alok Singhal
Google me dit que l'Erreur "193" est un code d'erreur Windows cela signifie que l'exécutable n'est pas, en fait, d'un exécutable. On dirait qu'il ya quelque chose de mal avec votre EXE - pouvez-vous commencer directement?
J'ai trouvé un thread dans un allemand C++ forum descrbing le même problème: c-plusplus.de/forum/viewtopic-var-t-is-229700.html - Elle ne semble pas offrir une solution claire et nette (lié à fil, quelqu'un a eu gdb pour travailler seulement après l'utilisation de subst à mettre l'exécutable sur son propre lecteur), mais on dirait que vous êtes néerlandais, alors peut-être il peut vous donner quelques indications.
Sont-ils de suggérer que j'ai utiliser Cygwin pour construire un binaire Linux au lieu de Windows binaire?
Cygwin semble avoir été la clé dans ce cas, mais bien sûr, il serait encore construire des binaires pour Windows.
Aïe. C'est d'un frustrant solution de contournement. Je vais garder cette question ouverte pour l'autre, tandis que, juste au cas où il y a des solutions plus simples.
OriginalL'auteur Michael Borgwardt
votre bibliothèque partagée réglage suis tourné sur la (probablement parce que vous avez changé votre projet à partir d'un fichier exécutable à une bibliothèque partagée, puis sur le dos) et gcc est encore appelée la "partagés" options, mais le fichier de sortie a l' .extension exe. Il y a une case appelée "partagée" dans
Assurez-vous qu'il n'est pas cochée. J'ai eu aussi l'erreur 193 jusqu'à ce que j'ai montré cela.
OriginalL'auteur ohsaycanyouc
Ce fil ne mentionne:
ERROR_BAD_EXE_FORMAT
Note (comme un exemple de "problème d'installation de cygwin): il y avait un bug avec gdb si elle est installée dans un cygwin référencé avec un chemin d'accès, y compris un espace (voir ce fil)
Quelle version de gdb utilisez-vous lorsque vous reproduire le problème en dehors d'Eclipse CDT?
Pourriez-vous essayer d'utiliser cygwin si, pour vérifier si le problème persiste dans cet environnement? Pour CDT + cygwin, vous pouvez essayer de suivre blog.genius-field.com/2009/04/20/... (ou homepage.cs.uri.edu/courses/fall2007/csc406/Handouts/...). Vérifiez aussi old.nabble.com/cygwin-toolchain-unsupported--td15180630.html et dreamlayers.blogspot.com/2010/01/...
Vérifiez aussi dev.eclipse.org/mhonarc/lists/cdt-dev/msg16936.html pour le problème avec "gcc.exe" dans la nouvelle Cygwin (1.7).
J'ai mis Cygwin bin du dossier dans le chemin, mais l'Éclipse n'est pas encore la détection de Cygwin. J'ai fait en sorte j'ai redémarré Eclipse après avoir installé Cygwin et je n'ai vérifier gcc, gcc-core et de faire.
avez-vous vérifié cdt-devel-faq.wikidot.com/#toc27 ?
OriginalL'auteur VonC
Vous dit:
Pouvait-il avoir quelque chose à voir avec le avant/arrière, la barre oblique à la fin du chemin de l'exécutable? Peut-être la partie
Bureaublad/test.exe
est ici conçu comme un seul exécutable, et il ne peut pas être trouvé?gdb "C:\Documents and Settings\Pieter\Bureaublad\CH14O01.exe"
(ce fichier est bien présent), le débogueur retourne la même erreur, même si il n'y a pas de barre oblique de ce temps:Error creating process C:\Documents and Settings\Pieter\Bureaublad\CH14O01.exe, (error 193).
.OriginalL'auteur lorenzog