Question

Je travaille quotidiennement avec TDD pour mon développement C ++ sous Solaris10. Cela a considérablement réduit le temps que je dois passer à utiliser mon débogueur, mais c'est parfois la seule option.

DBX est assez puissant mais pas aussi convivial. Notez que je parle de la console DBX et non de l'interface graphique de SunStudio pour DBX).

Quels sont les meilleurs conseils de productivité que vous puissiez donner pour le débogage de dbx C ++?

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

Était-ce utile?

La solution

J'ai ajouté quelques sites liés à dbx. Les voici, sans ordre particulier, au cas où ils pourraient vous être utiles:

EDIT le 19 juillet 2012: J'ai essayé de réparer plusieurs liens depuis que le blog de Chris Quenelle a été déplacé. Certains articles sont toujours accessibles via la machine à remonter.

Autres conseils

Une des fonctionnalités puissantes de dbx est la fonctionnalité intégrée à ksh. 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 les pointeurs d'un itinéraire spécifique. Le shell est une ancienne version de pdksh, donc ce n’est pas la meilleure solution pour la programmation, mais c’est bien mieux que de ne pas utiliser de langage intégré à utiliser. Une aide importante est également disponible à partir de la ligne de commande. Une astuce pour rechercher de l'aide consiste à utiliser " vi $ helpfile " depuis le shell de commande dbx. Cela corrige les données brutes de helpfile dans un fichier volumineux. 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 consultant le module d'intégration libumem. Vous pouvez le trouver ici:

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

Moi aussi dois utiliser dbx au travail et comprendre vos frustrations!

J'ai découvert quelques astuces qui facilitent un peu ma vie:

Utiliser le système de commandes construit comme ceci: when stop {print quoique ; }
Évidemment, cela ne fonctionne pas quand quoi que soit hors de portée, mais je le trouve assez utile. Je n'ai pas encore eu beaucoup de joie avec l'installation 'trace', YMMV.

Créer votre propre fichier .dbxrc vous simplifie la vie, de même que le fichier "pathmap". fonctionnalité.

Enfin, cela n’est évident que si vous le connaissez déjà, mais essayez Manuel de Sun .

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

Licencié sous: CC-BY-SA avec attribution
Non affilié à StackOverflow
scroll top