Question

Je suis passé de Windows à Ubuntu Linux et je souhaite maintenant configurer l'environnement de développement ici. Le problème est que j'ai besoin de

  1. IDE C / C ++ comparable à Visual Studio
  2. Méthode de génération de fichiers binaires Windows PE
  3. Façon de déboguer les fichiers binaires Windows PE

La première fois, j'ai essayé Code :: Blocks. Ici , je trouve un guide pour le paramétrage du développement croisé afin qu'il soit géré par moi. pour obtenir "Hello World" compilé et exécuté sous Wine. De plus, le débogage a également fonctionné.

Mais j’ai trouvé que le plugin Eclipse + CDT est bien plus avancé que l’IDE. J'ai passé du temps à enfin compiler et relier le projet.

Maintenant, j'essaie de faire fonctionner la version de GDB de MinGW Insight dans Eclipse CDT. Un moyen simple d'utiliser le débogueur décrit dans le guide Code :: Blocks ne fonctionnera plus. Je continue à recevoir " Erreur lors de la création de la session " messages.

Ma question est donc la suivante: comment puis-je utiliser MinGW GDB sous Wine en tant que back-end de débogueur dans Eclipse? Ou, quel est le meilleur IDE pour Linux - développement croisé Windows?

Était-ce utile?

La solution

Je me demande si personne n'a encore répondu à cette question.

  1. QtCreator. Ne soyez pas dérouté par son nom, QtCreator fonctionne assez bien avec tout type de code C ++, vous n'avez pas besoin de code dans Qt pour l'utiliser. C'est comme FOSS Visual Studio: il a même une vérification de syntaxe "à la volée".

  2. MinGW. Voici pas grand chose à dire, il suffit de créer des exécutables Win PE, et cela fonctionne. Il est disponible dans les référentiels. Notez que les applications Win GUI ont un bit spécial dans son en-tête PE; donc, pour créer une application graphique avec MinGW, vous devez passer une option -mwindows pour définir ce bit.

  3. C'est un problème. Vraiment: J'essaie simplement de déboguer une application Windows et je n'ai pas encore trouvé le moyen de le faire. Je rappellerai ici brièvement ce que j’ai essayé jusqu’à présent, pour que vous ne puissiez pas marcher sur mes râteaux:

    • winedbg . Cela devrait probablement fonctionner, mais pour moi cela n'a pas fonctionné. Lorsque je définis un point d'arrêt, comme par exemple br 43 , il est écrit Impossible d'ajouter un point d'arrêt (adresse inconnue 7b860807) .

    • winedbg . Oui, encore une fois, mais cette fois-ci, nous allons l’utiliser comme ceci winedbg --gbd pour le transformer en proxy d’une commande à gdb . C’est probablement le seul moyen de déboguer une application, mais cela présente des inconvénients: d’abord, pour redémarrer une application, vous devez quitter le débogueur; Si vous entrez run , cela signifie que la cible distante ne le supporte pas. Deuxièmement, je ne sais même pas comment déboguer une application multithread; Lorsque j'ai commencé pour la première fois, je suis tombé sur une erreur . Le mode non-stop a été demandé, mais la télécommande ne prend pas en charge le non-stop . Impossible d'insérer le point d'arrêt 1. et Impossible d'accéder à la mémoire à l'adresse 0x401654 . Donc, pour que cela fonctionne, il me fallait renommer mon fichier .gdbinit (le mode non-stop est défini ici) .

    • gdb.exe . J'étais certain d'avoir trouvé un moyen: utiliser simplement une version Windows de gdb devrait résoudre les problèmes; De plus, pour moi, comme je suis un gars d’Emacs, ce serait absolument la même chose que de déboguer avec gdb natif. Mais hélas, le windows gdb ne fonctionnait tout simplement pas. Si je l'exécute et que j'entre une commande, cela ne fait tout simplement rien. Il ne réagit que sur les commandes Ctrl-c et Ctrl-z . Je vais probablement essayer pendant mon temps libre de poser une question à ce sujet sur la liste de diffusion. Eh bien, maintenant, nous ne pouvons plus l'utiliser ...

Alors, que fait-on avec le débogage? Recherchez probablement un autre débogueur Windows qui fonctionne sous WINE . Si je me souviens bien, OllyDbg a fonctionné, mais je ne sais pas comment lui faire afficher un code source.

Autres conseils

vous pouvez essayer NetBeans . C'est un bon code source libre et ouvert. et support de plate-forme IDE.

Exécuter Windows sur une machine virtuelle?

Sérieusement, votre question est bonne, mais il ne vaut probablement pas la peine de prendre le temps de trouver la réponse (surtout que personne ne semble avoir de réponse immédiate). Si vous avez du travail à faire, Windows natif ou Windows sur une machine virtuelle est la solution.

Licencié sous: CC-BY-SA avec attribution
Non affilié à StackOverflow
scroll top