wie so viel wie möglich von dbx zu erhalten
Frage
ich TDD auf einer täglichen Basis für meine C ++ Entwicklung auf Solaris10. Es hat sich erheblich die Zeit, die ich reduziert verbringen meine Debugger aber irgendwann ist dies die einzige Option.
DBX ist ziemlich mächtig, aber nicht so benutzerfreundlich. Beachten Sie, dass ich rede Konsole DBX nicht der SunStudio GUI für DBX).
Was sind die besten Produktivität Tipps, die Sie für dbx C geben kann ++ Debuggen?
PS. Debugger zu ändern, ist keine Option.
Lösung
Ich habe ein paar Seiten im Zusammenhang mit dbx vorgemerkt. Hier sind sie, in keiner bestimmten Reihenfolge, falls sie könnten nützlich sein, um Sie:
- Warum kann nicht dbx Meine Funktion finden?
- Online-Hilfe der DBX-Debugger
- Sun Studio: Debuggen einer Multithread-Anwendung w / dbx
- gdb vs. dbx: Befehle Mapping und Merkmalsvergleich
- Importieren von Debug-Informationen in dbx
- Befehlszeile dbx: Mehr Quelle
- Sun Studio C ++ - Ihre .dbxrc (NB: anpassen der integer-Typ verwendet, um Zeiger nach Ihrer Zeigergröße werfen)
- Sun Studio: Untersuchung Speicherlecks mit dbx
- Sun Studio: Das Sammeln von Speicherzuordnungen / Lecks Daten aus ein laufender Prozess
EDIT am 19. Juli 2012: Ich habe versucht, mehrere Link zu reparieren, da Blog Chris Quenelle das ist umgezogen. Einige Artikel können noch dank der Wayback Maschine zugegriffen werden.
Andere Tipps
Eine der leistungsstarken Funktionen von dbx die in KSH gebaut. Sie können Shell-Funktionen schreiben, die so komplex sind, wie Sie benutzerdefinierte Ansichten von Datenstrukturen drucken möchten, oder Zeiger in einer bestimmten Route folgen. Die Schale ist eine alte Variation von pdksh, so ist es nicht die schönste für die Programmierung, aber es ist viel besser, als nicht mit jeder Sprache in eingebautem zu verwenden. Es gibt auch umfangreiche Hilfe zur Verfügung über die Befehlszeile. Ein Trick für die Hilfe suchen ist „vi $ Hilfe-Datei“ aus dem dbx-Befehls-Shell zu verwenden. Tha tedits die rohen Hilfe-Datei Daten in einer großen Datei. Sie können einige Beispiele für Shell-Funktionen in der dbxrc-Datei, die Schiffe mit dbx sehen und wird standardmäßig geladen wird. Sie können, indem man die libumem Integrationsmodul ein anspruchsvolleres Beispiel. Sie können es hier finden:
http://blogs.oracle.com/quenelle/entry/using_dbx_and_libumem_to
Auch ich Haben dbx bei der Arbeit zu nutzen und verstehen, Ihre Frustrationen!
Ein paar Tipps, die ich entdeckt habe, die mein Leben ein wenig leichter machen:
die integrierte Befehle System wie folgt aus:
wenn Stopp {print was ; }
Offensichtlich funktioniert nicht, wenn was out of scope ist, aber ich finde es nützlich genug. Ich habe noch viel Freude mit dem ‚trace‘ Anlage haben, YMMV.
Ihre eigene .dbxrc Datei macht das Leben viel einfacher, ebenso wie die „pathmap“ -Funktion.
Schließlich ist dies nur offensichtlich, wenn Sie es bereits wissen, aber versuchen Sun Hand .
Es ist nicht besonders gut geschrieben, aber immer noch ein wesentlicher lesen.