Eclipse Debugger und C++



  • Dravere schrieb:

    Was hat das mit C++ zu tun? Das ist die Aufgabe des Debuggers, bzw. von Eclipse. Ich würde allerdings nicht in Eclipse C++ programmieren wollen, weil die IDE in erster Linie auf Java ausgerichtet ist.

    Nichts desto trotz ist Eclipse+CDT nach meinen Beobachtungen mir großem Abstand die beste IDE für C++. Gerade Visual Studio (okay, ich benutze 2008) verdient meiner Meinung nach die Bezeichnung IDE nicht. 2010 mag besser sein, aber das kenne ich nicht.
    Und es ist nicht der Eclipse-Debugger, der diese Ausgabe produziert, sondern vermutlich gdb.

    PS: Das ist natürlich 'ne Meinung. Ich brauche, wie dazu anmerken muss selten einen Debugger, weil ich viel mit boost.asio rumschraube, und er dabei leider selten wirklich hilfreich ist.


  • Administrator

    CSpille schrieb:

    Du hast auf mich immer einen sehr kompetenten Eindruck gemacht, versau dir dein
    Image nicht 😡

    Mein Image ist mir egal. Ich bin lieber, wer ich bin.
    Allerdings zu deiner Beruhigung und eigentlich dachte ich, dass die Smilies dies schon klar genug machen würden: Das war nicht ernst gemeint! 😃

    CSpille schrieb:

    btw: Ich würde seit DOS kein Microsoft-Produkt mehr als Betriebssystem mehr bezeichnen.

    Zum Glück müssen wir nicht alle einer Meinung sein. Allerdings halte ich die Aussage, vor allem ohne Smilies, für sehr provokant und nutzlos 😉

    Tachyon schrieb:

    Gerade Visual Studio (okay, ich benutze 2008) verdient meiner Meinung nach die Bezeichnung IDE nicht.

    Naja, du musst halt wie in Eclipse dir zuerst ein paar Plugins besorgen, bzw. vor allem eines: Visual Assist X. Allerdings macht VAX eigentlich nur noch den Feinschliff. Ich wüsste nicht, wieso man Visual Studio nicht als IDE bezeichnen können sollte. Halte ich wie die Aussage oben von CSpille für sehr provokant und völlig nutzlos ...

    Tachyon schrieb:

    PS: Das ist natürlich 'ne Meinung. Ich brauche, wie dazu anmerken muss selten einen Debugger, weil ich viel mit boost.asio rumschraube, und er dabei leider selten wirklich hilfreich ist.

    CSpille schrieb:

    Dabei debugge ich nur, wenn mein Programm misteriöserweise abschmiert.

    Ich bin erstaunt darüber, wie wenig ihr einen Debugger verwendet. Sobald ein Algorithmus nicht den gewünschten Output liefert, grenze ich das Problem ein und werfe dann den Debugger an. Es gibt nichts besseres, um einen Fehler zu finden, als Schrittweise über diesen hinwegzugehen. Auch mit Boost.Asio habe ich schon oft den Debugger verwendet. Sogar zum Teil gleich doppelt: Auf dem Client und Server.
    Ich stelle mal eine gewagte Behauptung in den Raum: Benutzt ihr so selten den Debugger, weil der GDB so schlecht bedienbar ist?

    Grüssli



  • Dravere schrieb:

    Naja, du musst halt wie in Eclipse dir zuerst ein paar Plugins besorgen, bzw. vor allem eines: Visual Assist X. Allerdings macht VAX eigentlich nur noch den Feinschliff. Ich wüsste nicht, wieso man Visual Studio nicht als IDE bezeichnen können sollte. Halte ich wie die Aussage oben von CSpille für sehr provokant und völlig nutzlos

    Das war keine Aussage, sondern eine Meinung. Steht sogar fett dran. 😉

    VAX ist recht teuer (betrifft mich nur privat), bzw. in der Toolchain meiner Firma nicht zugelassen.

    Und der Grund, wieso ich Visual Studio so grausam finde (wie gesagt 2008, 2010 kenne ich nicht) ist der, dass z.B. Intellisense schon bei recht einfachen Konstrukten aussteigt und auch nicht in der Lage ist, sich selbst zu recovern. Wenn das Dingens sich mal richtig aufhängt, dann geht die komplette IDE gleich mit den Bach runter. Irgendwelche boost-Geschichten schaffen das regelmäßig.

    Die Vervollständigung ist unzuverlässig und funktioniert nach völlig undurchschaubaren Regeln mal einigermaßen gut, dann mal wieder gar nicht.

    Dazu kommt, dass man kaum Freiheiten bei der Konfiguration des Editors hat, was z.B. Einrückung und Umbruch betrifft. Das Gleiche gilt für das Highlighting.

    Headerfiles findet er gar nicht, dass heisst, wenn man Projekte mit vielen Dateien hat (so um die 3000 + diverse COTS Libraries) dann muss man mühsam suchen. Bei Eclipse reicht eine grobe Ahnung und dann Ctrl+Space.

    Klar es geht auch ohne, aber dann frage ich mich: Wozu eine IDE? Nur aufgrund des Debuggers? Ich denke nicht.



  • Tachyon schrieb:

    Und der Grund, wieso ich Visual Studio so grausam finde (wie gesagt 2008, 2010 kenne ich nicht) ist der, dass z.B. Intellisense schon bei recht einfachen Konstrukten aussteigt und auch nicht in der Lage ist, sich selbst zu recovern. Wenn das Dingens sich mal richtig aufhängt, dann geht die komplette IDE gleich mit den Bach runter. Irgendwelche boost-Geschichten schaffen das regelmäßig.

    Die Vervollständigung ist unzuverlässig und funktioniert nach völlig undurchschaubaren Regeln mal einigermaßen gut, dann mal wieder gar nicht.

    Dazu kommt, dass man kaum Freiheiten bei der Konfiguration des Editors hat, was z.B. Einrückung und Umbruch betrifft. Das Gleiche gilt für das Highlighting.

    Headerfiles findet er gar nicht, dass heisst, wenn man Projekte mit vielen Dateien hat (so um die 3000 + diverse COTS Libraries) dann muss man mühsam suchen. Bei Eclipse reicht eine grobe Ahnung und dann Ctrl+Space.

    Klar es geht auch ohne, aber dann frage ich mich: Wozu eine IDE? Nur aufgrund des Debuggers? Ich denke nicht.

    Die meisten Sachen die du bemängelst werden in VS2010 komplett behoben:
    - IntelliSense funktioniert auch bei großen Projekten einwandfrei und schnell.
    - Headerfiles kann man jetzt wie in Eclipse mit Autovervollständigung includen.
    - Mir gefallen die Standardeinstellungen vom Editor ganz gut, daher hab ich nicht wirklich getestet was man da so machen kann.

    Da wir in unseren Entwicklungs-VMs Adminrechte haben hab ich mir da VS2010 aus der MSDNAA installiert und entwickel nurnoch darmit. Falls ich mal nen Build für ne Testmaschine brauche wird halt kurz VS2008 angeschmissen. Das Nachziehen der paar Änderungen in den sln- und vcproj-Dateien ist mit nem diff-Tool kein großer Aufwand, die Zeit hol ich durchs schnellere Entwickeln 10 mal raus.

    Imho hat MS mit VS2010 nen ganz großen Wurf hingelegt.


  • Administrator

    Tachyon schrieb:

    VAX ist recht teuer (betrifft mich nur privat), ...

    Einmalig 250, dann hast du ein Jahr Support. Du musst nicht laufend erneuern, ich mache seit über einem Jahr Pause und habe nicht mehr erneuert. Werde dann mit dem Umstieg auf 2010 erneuern. Eine Erneuerung kostet 50 und hält ein Jahr. Kann man wirklich nicht viel dazu sagen.
    Sonst kannst du auch für 100$ eine Lizenz kaufen mit 6 Monaten support. Allerdings kann man diese Lizenz nicht erneuern.

    Tachyon schrieb:

    Und der Grund, wieso ich Visual Studio so grausam finde (wie gesagt 2008, 2010 kenne ich nicht) ist der, dass z.B. Intellisense schon bei recht einfachen Konstrukten aussteigt und auch nicht in der Lage ist, sich selbst zu recovern. Wenn das Dingens sich mal richtig aufhängt, dann geht die komplette IDE gleich mit den Bach runter. Irgendwelche boost-Geschichten schaffen das regelmäßig.

    1. VAX hilft mir da, daher kann ich schlecht beurteilen, wie dies ohne ist. Mit VAX funktioniert es jedenfalls zauberhaft.
    2. Meine Erfahrung ist, dass die Autovervollständigung von Eclipse bei grösseren Projekten auch völlig einknickt. Aber ich bin da auch nicht auf dem ganz neusten Stand. Ich vermeide Eclipse, weil es mir überhaupt nicht zusagt. Für Java verwende ich hauptsächlich NetBeans.

    Tachyon schrieb:

    Die Vervollständigung ist unzuverlässig und funktioniert nach völlig undurchschaubaren Regeln mal einigermaßen gut, dann mal wieder gar nicht.

    Mit VAX wunderbar, kann ich also nix dazu sagen 🙂

    Tachyon schrieb:

    Dazu kommt, dass man kaum Freiheiten bei der Konfiguration des Editors hat, was z.B. Einrückung und Umbruch betrifft.

    Ja, das stimmt, aber weisst du was? Da hilft dir VAX 😉

    Tachyon schrieb:

    Das Gleiche gilt für das Highlighting.

    Das hingegen ist Humbug. Tools -> Options -> Environment -> Fonts and Colors
    Was um alles in der Welt willst du mehr? Und vor allem ist alles schön beisammen, während es bei Eclipse über alle Einstellungen hinweg verteilt ist. Hab letztens fast die Krise bekommen, als ich ein anderes Theme einstellen wollte. Da ist auch NetBeans um Längen voraus.

    Tachyon schrieb:

    Headerfiles findet er gar nicht, dass heisst, wenn man Projekte mit vielen Dateien hat (so um die 3000 + diverse COTS Libraries) dann muss man mühsam suchen. Bei Eclipse reicht eine grobe Ahnung und dann Ctrl+Space.

    Mit VAX wunderbar, kann ich also nix dazu sagen ... 😃

    Tachyon schrieb:

    Klar es geht auch ohne, aber dann frage ich mich: Wozu eine IDE? Nur aufgrund des Debuggers? Ich denke nicht.

    Also eine IDE nur auf diese Punkte zu reduzieren, halte ich schon ein wenig heftig. Deine womöglich korrekten Kritikpunkte zielen alle nur auf das IntelliSense ab. Autovervollständigung macht aber keine IDE aus. Im Gegenteil, eine IDE muss nicht mal Autovervollständigung enthalten, um eine solche zu sein. Lies dir mal die Wikipedia-Artikel (Deutsch, Englisch) zur Definition einer IDE 😉
    http://de.wikipedia.org/wiki/Integrierte_Entwicklungsumgebung
    http://en.wikipedia.org/wiki/Integrated_development_environment

    Es ist ein Zusammenführen von verschiedenen Werkzeugen für die Entwicklung. Autovervollständigung kann eines davon sein, muss aber nicht und ist meiner Meinung nach bei weitem nicht das Wichtigste.

    (Noch in der Vorschau erblickt)
    @rean,
    Wie sieht es denn eigentlich mit der Gerschwindigkeit des GUI von VS2010 aus? Dazu gab es während der Betaphase öfters mal Kritik zu hören. Konnte es bisher aber noch nicht selber testen.

    Grüssli



  • Dravere schrieb:

    ...

    Okay, halten wir mal fest: Circa 90% der Kritikpunkte werden von VAX behoben. Aber VAX ist nicht Visual Studio.

    Für mich ist die Autovervollständigung wichtig, da ich es häufig mit viel Code, auch von Fremden, zu tun habe. Der Debugger ist für mich hingegen häufig wenig hilfreich, da er meist nicht weit kommt (asynchrones Zeugs oder libs).

    Die Refactoringtools finde ich nicht sehr gelungen. Makros sind nützlich, aber die kann fast jede IDE auf ähnliche Art.

    Der Kram für die Teamarbeit mag gut sein, aber da müssen wir eine andere Lösung benutzen.

    wikipedia schrieb:

    Texteditor
    Compiler bzw. Interpreter
    Linker
    Debugger
    Quelltextformatierungsfunktion

    Da hat hat Compiler und der Linker nur mittelbar mit der IDE zu tun. Die gibts auch ohne.
    Formatierung und Texteditor sind, wie gesagt mäßig. Bleibt der Debugger, der tatsächlich ganz gut ist, bei meinen Problemen aber leider nicht hilfreich...

    Mal 2010 testen.



  • Tachyon schrieb:

    Klar es geht auch ohne, aber dann frage ich mich: Wozu eine IDE? Nur aufgrund des Debuggers? Ich denke nicht.

    Ehrlich gesagt, ist der MSVC Debugger so der Hauptgrund für mich VS als Hauptentwicklungsumgebung einzusetzen. Der Debugger ist für mich das wichtigste Tool in einer IDE. Code completion ist ne schöne Sache und ich hab mich über nicht funktionierende IntelliSense auch schon öfter mal geärgert, aber was besseres habe ich noch nicht gefunden (außer jetzt bei ersten Versuchen in VS2010). NetBeans und Eclipse vervollständigen meinen Code langsamer als ich schreiben kann. Aber nicht nur, dass diese IDEs mir in annehmbarer Zeit keine vernünftige Unterstützung bieten, sie verlangsamen meine Arbeit durch das ständige Hängen auch noch. Das führte dazu, dass ich den ganzen Kram erst abgeschaltet habe, und mich dann für Code::blocks entschieden habe, für den gcc unter Linux eine ganz nette IDE, aber für meine Ansprüche mit VS nicht zu vergleichen. Andere Leute haben vielleicht andere Ansprüche, aber Anwendungen bei denen ein Debugger nutzlos ist halte ich für Märchen.

    Wenn ich unter Windows mal ein paar Gehversuche in Java unter Eclipse gemacht habe, muss ich allerdings sagen, dass ich schon recht beeindruckt war. Vor allem auch als Anfänger hat man da ziemlich coole Features..


  • Administrator

    Tachyon schrieb:

    Dravere schrieb:

    ...

    Okay, halten wir mal fest: Circa 90% der Kritikpunkte werden von VAX behoben. Aber VAX ist nicht Visual Studio.

    VAX ist ein Plugin für Visual Studio. Wenn wir alle Plugins aus Eclipse entfernen würden ... lol ... dann hast du eine leere Hülle :p

    Tachyon schrieb:

    Der Debugger ist für mich hingegen häufig wenig hilfreich, da er meist nicht weit kommt (asynchrones Zeugs oder libs).

    Macht bei einem guten Debugger doch keinen Abbruch. Die Libs halt mit Debug-Symbols verwenden und man kann auch mehrere Threads anhalten und sie einzeln steuern. Das Analysieren von Live-Daten hilft einem bei der Problemsuche meistens sehr viel weiter und man muss nicht irgendwelche Debug-Ausgaben einbauen, um sie später wieder wegzunehmen. Also der Code bleibt, wie er ist.

    Aber um es mal auf den Punkt zu bringen, wenn du am Anfange gesagt hättest, dass Visual Studio 2008 eine eher mittelmässige oder womöglich sogar schlechte Autovervollständigung hat, dann hätte ich kaum was gesagt. Vielleicht höchstens: Kauf dir halt VAX! 😃
    Dass die Autovervollständigung in VS2008 nicht das Gelbe vom Ei ist, damit werden wohl viele einig sein. Aber deswegen zu behaupten, dass es keine IDE ist, halte ich für ein wenig masslos übertrieben. Visual Studio kann auch noch viel mehr, als was du bis jetzt aufgelistet hast. Es bietet zahlreiche Hilfsmittel in der Entwicklung von Programmen von A bis Z. Da weiss man gar nicht wo anfangen oder enden mit der Auflistung, aber hätte auch nicht einen all zu grossen Zweck. Ich will dich ja auch nicht bekehren oder sowas, nur dass du die unsinnige Aussage zurücknimmst: VS2008 sei keine IDE 😉

    Grüssli



  • Welche Aussage? 😉



  • Dravere schrieb:

    CSpille schrieb:

    btw: Ich würde seit DOS kein Microsoft-Produkt mehr als Betriebssystem mehr bezeichnen.

    Zum Glück müssen wir nicht alle einer Meinung sein. Allerdings halte ich die Aussage, vor allem ohne Smilies, für sehr provokant und nutzlos 😉

    okay... Nachträglich: 🙄

    Dravere schrieb:

    CSpille schrieb:

    Dabei debugge ich nur, wenn mein Programm misteriöserweise abschmiert.

    Ich bin erstaunt darüber, wie wenig ihr einen Debugger verwendet. Sobald ein Algorithmus nicht den gewünschten Output liefert, grenze ich das Problem ein und werfe dann den Debugger an. Es gibt nichts besseres, um einen Fehler zu finden, als Schrittweise über diesen hinwegzugehen. Auch mit Boost.Asio habe ich schon oft den Debugger verwendet. Sogar zum Teil gleich doppelt: Auf dem Client und Server.
    Ich stelle mal eine gewagte Behauptung in den Raum: Benutzt ihr so selten den Debugger, weil der GDB so schlecht bedienbar ist?

    Wenn mein Programm nicht den gewollten output liefert, mach ich mir kurz nen
    paar Konsolenausgaben rein und kann das Problem i. d. R. auch so eingrenzen...

    Aber ich weiß nicht, ob ich ihn vielleicht bei guter Integration in die IDE
    häufiger benutzen würde.

    Allerdings verwende ich z.B. in Java eigentlich nie einen Debugger.



  • CSpille schrieb:

    Wenn mein Programm nicht den gewollten output liefert, mach ich mir kurz nen
    paar Konsolenausgaben rein und kann das Problem i. d. R. auch so eingrenzen...

    Aber ich weiß nicht, ob ich ihn vielleicht bei guter Integration in die IDE
    häufiger benutzen würde.

    Allerdings verwende ich z.B. in Java eigentlich nie einen Debugger.

    Hmm. Es gibt schon Fälle, wo printf-Debugging wohl nicht wirklich nützlich ist. Ich denke da so an Sachen, wie Bäume, Rekursion, irgendwelche Verweisstrukturen (über mehrere Objekte) usw.
    Für viele einfache Sachen wird die Ausgabe schon recht viel richten können, aber ich bin froh einen anständigen Debugger mit MSVC++ zu haben. In Java habe ich den Debugger auch für die gleichen Fälle gebraucht. Letzens für eine JCSP Mergesort Implementierung. Reine Ausgabe hat mir da nicht wirklich viel gebracht..

    @Dravere
    Ich habe mal einen mit einem Mac einen Debugger benutzen sehen. Da hat es im Zeilenweise Code auf der Konsole ausgegeben. Variablen musste er Befehl hervorholen.. Fände ich nicht wirklich angenehm so zu arbeiten.. Und wirklich schnell war er auch nicht.



  • Dravere schrieb:

    (Noch in der Vorschau erblickt)
    @rean,
    Wie sieht es denn eigentlich mit der Gerschwindigkeit des GUI von VS2010 aus? Dazu gab es während der Betaphase öfters mal Kritik zu hören. Konnte es bisher aber noch nicht selber testen.

    Naja ich arbeite auf nem flotten 64er Quadcore mit 4 Gig Ram und ner ordentlichen Grafikkarte, von daher sind meine Erfahrungen vielleicht nicht so repräsentativ 😛
    Ich bin mit der Geschwindigkeit jedenfalls sehr zufrieden. Mit den Dockingmöglichkeiten haben sie's ein wenig übertrieben aber wenn man mal alles da plaziert hat wo mans will ist das kein großes Problem mehr. Vom Design her sieht man nicht sehr viele Neuerungen gegenüber 08, also nicht überall dieser Vista- bzw. Win7-Klicki-Bunti-Dung. Von daher würd ich mal schätzen dass es ähnlich gut läuft.
    Was ich auf alle Fälle schon beobachtet hab ist das 10 ein gutes Stück mehr Speicher braucht als 08. 08 ist aber glaub auch ne 32Bit-Anwendung während ich 10 als 64Bit-Version installiert hab, werd das morgen mal checken. Außerdem dürfte das wohl auch auf das aufgebohrte IntelliSense zurückzuführen sein. Das parst, ähnlich wie Eclipse bei Java, den Code ständig im Hintergrund und mahnt Fehler sofort an. IS kommt jetzt übrigens auch wunderbar mit Boost klar.



  • rean schrieb:

    Was ich auf alle Fälle schon beobachtet hab ist das 10 ein gutes Stück mehr Speicher braucht als 08. 08 ist aber glaub auch ne 32Bit-Anwendung während ich 10 als 64Bit-Version installiert hab, werd das morgen mal checken. Außerdem dürfte das wohl auch auf das aufgebohrte IntelliSense zurückzuführen sein. Das parst, ähnlich wie Eclipse bei Java, den Code ständig im Hintergrund und mahnt Fehler sofort an. IS kommt jetzt übrigens auch wunderbar mit Boost klar.

    Als ich die Beta getestet habe ist es sogar besser gelaufen, als z.B Eclipse, wenns gerade schlecht gelaufen ist oder auch EiffelStudio. Für das, was VS10 leistet finde ich die Auslastung gerechtfertigt.
    Dass Intellisense so einen gewaltigen Sprung gemacht hat finde ich auch sehr toll. War richtiggend erstaunt. 🙂

    Was ich bis jetzt aber nicht gefunden habe ist eine Refactoring Möglichkeit (eingebaut). Oder hast du welche gefunden?!



  • drakon schrieb:

    Als ich die Beta getestet habe ist es sogar besser gelaufen, als z.B Eclipse, wenns gerade schlecht gelaufen ist oder auch EiffelStudio. Für das, was VS10 leistet finde ich die Auslastung gerechtfertigt.
    Dass Intellisense so einen gewaltigen Sprung gemacht hat finde ich auch sehr toll. War richtiggend erstaunt. 🙂

    Was ich bis jetzt aber nicht gefunden habe ist eine Refactoring Möglichkeit (eingebaut). Oder hast du welche gefunden?!

    Refactoring hat MS wohl immer noch nicht hinbekommen, für mich aber nicht so tragisch weil wir in der Firma ne ziemlich große, selbstentwickelte Makro-Bibliothek haben die eigentlich alles bietet was man so braucht.
    Sowohl 08 als auch 10 sind übrigens x86-Anwendungen, von daher würde ich mal Schätzen dass sich IntelliSense ein größeres Stück Speicher gönnt.


Anmelden zum Antworten