Je suis transféré de Windows à Ubuntu Linux et je souhaite maintenant mettre en place un environnement de développement ici. Le problème est que j'ai besoin p>
À la première fois, j'ai essayé du code :: Blocks. ici Je trouve le guide pour la configurer pour le développement croisé, donc j'ai géré Pour obtenir "Hello World", compilé et courir sous du vin. De plus, le débogage a également fonctionné. p>
Mais puis j'ai trouvé que l'Eclipse + CDT Plugin est beaucoup plus avancé. IDE. J'ai passé du temps et j'ai enfin compilé de projet et lié. P>
Maintenant, j'essaie d'obtenir la version Mingw Insight de GDB travaillant dans Eclipse CDT. Un moyen simple d'utiliser le débogueur décrit dans le code :: Le guide des blocs ne fonctionnera plus. Je continue à recevoir des messages "Erreur lors de la création de session". P>
Donc, ma question est, comment je peux utiliser Mingw GDB sous le vin en tant que débogueur en arrière dans Eclipse? Ou, quelle est la meilleure IDE pour le développement croisé de Linux-> Windows? P>
3 Réponses :
Vous pouvez essayer Netbeans . C'est une bonne source ouverte et cross plateforme support IDE. P>
Je me demande que personne n'a répondu à ce sujet. P>
qtcreator. Ne soyez pas confus par son nom, QTCreator Works est plutôt bien avec n'importe quel type de code C ++, vous n'avez pas besoin de coder dans qt pour l'utiliser. C'est juste comme FOSS Visual Studio: il a même une vérification de la syntaxe "à la volée". P> li>
mingw. Voici pas grand chose à dire, cela crée simplement des exécutables Gagnez PE et cela fonctionne. Il est disponible dans des référentiels. Remarque, que des applications GUI GUI ont un bit spécial dans son ensemble d'en-tête PE; Ainsi, afin de créer une application GUI avec Mingw, vous devez passer une option C'est un problème. Vraiment: J'essaie simplement de déboguer une application Windows et n'a pas encore trouvé un moyen de le faire. Je me souviendrai bientôt ici ce que j'ai essayé jusqu'à présent, juste pour que vous ne soyez pas sur mes râteaux: P>
winedbg fort>. Cela devrait probablement fonctionner, mais pour moi, ça ne l'a pas fait. Quand j'ai défini un point d'arrêt, c'est-à-dire comme ce winedbg fort>. Ouais, encore une fois, mais cette fois, nous l'utiliserons comme ce gdb.exe strong>. J'étais sûr que j'ai trouvé un moyen: une simple utilisation d'une version Windows de Alors qu'est-ce que nous avons avec le débogage? Très probablement rechercher un autre débogueur Windows qui fonctionne sous vin em>. Si je me souviens bien, Ollydbg a travaillé, mais je ne sais pas au moment de savoir comment le faire montrer un code source. P> -mwindows code> pour définir ce bit. p> li>
br 43 code>, il est indiqué
Impossible d'ajouter un point d'arrêt (adresse inconnue 7B860807) code>. P> LI>
Winedbg --gbd code> pour le faire proxyer une commande à
gdb code>. C'est probablement le seul moyen de déboguer une demande, mais il a un inconvénient: premièrement, afin de redémarrer une demande, vous devez quitter le débogueur; Si vous entrez
exécuter code> il est indiqué que la cible distante ne prend pas en charge cela. Deuxièmement, je n'ai même pas l'idée de déboguer une application multithreadée; Quand j'ai commencé cela pour la première fois, je suis tombé sur une erreur
sans arrêt demandé, mais la télécommande ne prend pas en charge la non-stop code>, et après avoir défini un point d'arrêt et le démarrage dit:
Impossible d'insérer un point d'arrêt 1. code> et
Impossible d'accéder à la mémoire à l'adresse 0x401654 Code>. Ainsi, afin de faire ce travail, j'étais nécessaire pour renommer mon
.gdbinit code> fichier (i.e. Mode non-stop est défini là-bas) em>. P> l> p>
gdb code> devrait résoudre des problèmes; Plus de plus, pour moi, comme je suis un gars d'emacs, il serait absolument identique au débogage avec GDB autochtone. Mais hélas, le Windows GDB n'a tout simplement pas fonctionné. Si je l'exécute, et entrez une commande, cela ne fait que rien. Il ne réagit que sur CTRL-C KBD> et commandes CTRL-Z KBD>. Je vais probablement essayer mon temps libre pour poser une question à ce sujet sur la liste de diffusion. Eh bien, maintenant, nous ne pouvons pas l'utiliser ... p> li>
ul> li>
ol>
+1 pour qtcreator. Cela fonctionne très bien avec la chaîne d'outils du GCC.
Je ne mettrai pas encore à jour le poste, laissez plutôt les informations dans le commentaire: j'ai trouvé comment exécuter gdb.exe code> avec le vin pour le faire fonctionner correctement, il devrait ressembler à
wineconsole --backend = Curse GDB.EXE CODE>.
Vient d'essayer dans emacs le gdb.exe code>, il est juste inutilisable :(
J'utilise EDB et définit l'exécutable que je veux déboguer pour courir automatiquement avec du vin. L'application semble se comporter différemment tout en courant dans le vin sur EDB qu'il ne le fait lorsqu'il est exécuté sur une machine virtuelle Windows dans OLLYDB. Je pense que le vin est la limitation ici, on dirait que vous devez exécuter les fenêtres exécutables sur des fenêtres réelles d'une machine virtuelle ou de manière native afin d'obtenir le même comportement que s'il s'agissait de Windows.
Exécuter des fenêtres dans un VM? P>
Sérieusement, votre question est bonne, mais cela ne vaut probablement pas la peine de passer le temps de comprendre la réponse (en particulier: puisque personne ne semble avoir une réponse prête). Si vous avez des travaux réels à faire, des fenêtres natales ou des fenêtres dans une machine virtuelle sont la réponse. P>
Je suis géré sur une fenêtre dans la machine virtuelle, et ce n'est pas une bonne idée du tout, je dis, car mon PC n'a que 2 Go de RAM. Je suis sûr que cela vaut la peine de passer du temps comme une fois que je l'ai trouvé, je peux l'utiliser à tout moment et n'importe où.