2009-04-14 16 views
7

In erster Linie habe ich grundlegende (Anfänger) Software-Entwicklung auf einem Windows-Rechner gemacht, aber ich hatte immer MS Visual Studio, um mir durch den Prozess des Debuggens zu helfen.Debugging unter Linux für Windows Entwickler

Jetzt sieht es so aus, als würde ich auf Linux sein, also um mich auf den Sprung vorzubereiten, möchte ich sicherstellen, dass ich ein Werkzeug/Werkzeuge habe, die mir helfen, den Code zu durchlaufen und zu debuggen.

Leider, wenn ich Leute mündlich gefragt habe, wie sie über Debugging unter Linux gehen, bekomme ich normalerweise die folgende Antwort: "Oh, ich habe nur eine Reihe von Druckanweisungen gesetzt." OH MEIN GOTT! Du sagst es nicht, aber das ist ihre Antwort.

Da es unter Linux ist und mit C++ - Code auf dem CentOS 32-Bit-Betriebssystem arbeiten wird, hoffe ich, dass dies eine bevorzugte OpenSource-Lösung ist. Ich denke, ich frage nach der bevorzugten OpenSource-IDE für C++ - Code auf CentOS Linux.

Vielen Dank für alle Einblicke und Anregungen.

Antwort

5

Ich würde vorschlagen, Eclipse

Eclipse ist eine reife IDE mit viel Unterstützung zur Verfügung verwenden.

Es gibt auch Code::Blocks wenn Sie etwas anderes

+0

Code :: Blocks verwendet intern auch GDB, ich habe festgestellt, dass GDB allein im Vergleich zu C :: B weniger Probleme beim Debuggen hat. –

+0

Wow - habe nie alle diese wunderbaren Antworten erwartet. Jetzt muss ich die Zeit finden und die Gelegenheit nutzen, mit all diesen Ideen zu experimentieren. Ich werde wahrscheinlich mit Eclipse anfangen und schauen, ob ich die existierende Linux-Codebasis in eine IDE bringen kann, was noch nie zuvor gemacht wurde, und es gibt Unmengen von Dateien und sehr wenig existierende oder genaue Dokumentation - diese leider nicht * .dsw oder existent Arbeitsbereich oder Lösung :(Ich denke, der nächste Schritt wird sein, zu sehen, wie man dieses Biest von Code in einer IDE arbeiten lässt. Nochmals vielen Dank für alle Antworten, die sie wirklich großartig sind. – JustADude

4
  • Eclipse-
  • NetBeans
  • KDevelop
7
2

Es versuchen wollen, ist immer GDB. XCode für OSX verwendet GDB intern zum Debuggen.

2

Valgrind, ist es Ihr Freund und kann Sie vor leiden leiden, obwohl GDB.

1

Anjuta ist eine wirklich großartige IDE für GNOME. Zum Debuggen wird intern GDB verwendet.

6

Vor ein paar Jahren habe ich den Wechsel von VS zu einer Emacs/make-Umgebung gemacht und ich habe nie zurückgeschaut.

Die Idee ist eine makefile zu verwenden, um die Projektmanagement-Seite einer IDE zu behandeln, und ich verwende Emacs + Gdb zum Bearbeiten und Debuggen. Es wird eine Weile dauern, bis Sie sich an Emacs gewöhnt haben, aber wenn Sie dabei bleiben, ist es die Mühe wert. Sobald Sie Emacs gestartet haben, drücken Sie "Strg + H" gefolgt von "t" und Sie gelangen zur Tutorial-Seite.

Nachdem Sie die Grundlagen gemeistert haben, können Sie ein Programm auf ähnliche Weise debuggen wie jede IDE/Debugger-Schnittstelle. Ich muss zugeben, dass ich auch nach dieser ganzen Zeit noch eine Reihe von VS-Key-Mappings verwende, die ich beim ersten Wechsel zu Emacs eingerichtet habe!

(global-set-key [f7] 'compile)   ;; Run the compile command 
(global-set-key [f4] 'next-error)  ;; The next compile error 
(global-set-key [S-f4] 'previous-error) ;; The previous compile error 
(global-set-key [f5] 'gdb)    ;; Start the debugger 

Die folgenden Sätze die „VS“ Tastenzuordnungen auf die verschiedenen GDB-Befehle, die Sie verwenden können:

(add-hook 'gud-mode-hook 
    '(lambda() 
    (define-key (current-local-map) 
     [f10] 
     'gud-next) 
    (define-key (current-local-map) 
     [f11] 
     'gud-step) 
    (define-key (current-local-map) 
     [\S-f11] 
     'gud-finish) 
    (define-key (current-local-map) 
     [f5] 
     'gud-cont) 
)) 

Mit den obigen Tastenbelegungen, ich drücke ‚f5‘, die mich gdb laufen auffordert (und zu diesem Befehl füge ich die Binärdatei hinzu, die ich debuggen möchte. Sobald gdb geladen ist, drückst du 'f5', um fortzufahren, 'f10', um weiterzugehen, 'f11', um hineinzugehen und 'shirt + f11', um auszusteigen.

Schließlich wird jedes Mal, wenn Sie 'gdb' starten, eine Datei namens '.gdbinit' in Ihrem Home-Verzeichnis gelesen. Eine andere StackOverflow-Frage hatte diese answer, die mich auf stl-views aufmerksam machte. stl-views ist eine Reihe von Hilfsfunktionen für gdb, die Ihnen den Inhalt der verschiedenen Arten von STL-Containern zeigen. Die Anweisungen zur Verwendung finden Sie oben auf dem Link.

1

Wenn Sie nur einen guten Debugger wollen, schauen Sie sich DDD an.

0

Ich verwende eine Kombination von gdb und cscope beim Debuggen auf Linux.

Verwandte Themen