2008-10-20 9 views
3

Je fais du TDD tous les jours pour mon développement C++ sur Solaris10. Il a considérablement réduit le temps que je dois passer en utilisant mon débogueur, mais parfois c'est la seule option. DBX est assez puissant mais pas si facile à utiliser. Notez que je parle de la console DBX et non de l'interface graphique SunStudio pour DBX). Quels sont les meilleurs conseils de productivité que vous pouvez donner pour le débogage dbx C++?comment tirer le meilleur parti de dbx

PS. Changer de débogueur n'est pas une option.

Répondre

8

J'ai mis en signet quelques sites liés à dbx. Ici, ils sont, sans ordre particulier au cas où ils pourraient être utiles pour vous:

EDIT 2012 19 juillet: J'ai essayé de corriger plusieurs lien depuis le blog de Chris Quenelle est déplacé. Certains articles peuvent encore être consultés grâce à la machine de wayback.

1

Moi aussi ai pour utiliser dbx au travail et comprendre vos frustrations!

Quelques conseils que je l'ai découvert qui rendent ma vie un peu plus facile:

Utilisation du système de commandes intégré comme ceci: lorsque l'arrêt {print tout; }
Évidemment ne fonctionne pas lorsque quel que soit est hors de la portée, mais je le trouve assez utile. Je n'ai pas encore eu beaucoup de joie avec l'installation 'trace', YMMV. Faire votre propre fichier .dbxrc rend la vie beaucoup plus facile, tout comme la fonction "pathmap". Enfin, ceci n'est évident que si vous le connaissez déjà, mais essayez Sun's manual.

Il n'est pas particulièrement bien écrit, mais reste une lecture indispensable.

1

L'une des fonctionnalités puissantes de dbx est le ksh intégré. Vous pouvez écrire des fonctions de shell aussi complexes que vous le souhaitez pour imprimer des vues personnalisées de structures de données ou suivre des pointeurs dans une route spécifique. Le shell est une ancienne variante de pdksh, donc ce n'est pas le meilleur pour la programmation, mais c'est beaucoup mieux que de ne pas avoir de langage intégré à utiliser. Une aide complète est également disponible depuis la ligne de commande. Une astuce pour rechercher l'aide consiste à utiliser "vi $ helpfile" depuis l'interface de commande dbx. Tha tedits les données d'aide brutes dans un grand fichier.Vous pouvez voir quelques exemples de fonctions shell dans le fichier dbxrc fourni avec dbx et chargé par défaut. Vous pouvez voir un exemple plus sophistiqué en regardant le module d'intégration de libumem. Vous pouvez le trouver ici:

http://blogs.oracle.com/quenelle/entry/using_dbx_and_libumem_to