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.
Code :: Blocks verwendet intern auch GDB, ich habe festgestellt, dass GDB allein im Vergleich zu C :: B weniger Probleme beim Debuggen hat. –
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