Domanda

Faccio TDD su base giornaliera per il mio sviluppo C ++ su Solaris10. Ha notevolmente ridotto il tempo che devo impiegare con il mio debugger, ma a volte questa è l'unica opzione.

DBX è piuttosto potente ma non così intuitivo. Si noti che sto parlando della console DBX e non della GUI di SunStudio per DBX).

Quali sono i migliori consigli sulla produttività che puoi dare per il debug di dbx C ++?

PS. La modifica del debugger non è un'opzione.

È stato utile?

Soluzione

Ho aggiunto alcuni siti ai segnalibri relativi a dbx. Eccoli, in nessun ordine particolare nel caso in cui possano esserti utili:

EDIT il 19 luglio 2012: ho cercato di correggere diversi link da quando il blog di Chris Quenelle si è spostato. Alcuni articoli sono ancora accessibili grazie alla macchina di ritorno.

Altri suggerimenti

Una delle potenti funzionalità di dbx è il ksh incorporato. È possibile scrivere funzioni shell complesse come si potrebbe desiderare di stampare viste personalizzate di strutture dati o seguire i puntatori in un percorso specifico. La shell è una vecchia variante di pdksh, quindi non è la migliore per la programmazione, ma è molto meglio che non avere un linguaggio integrato da usare. C'è anche un ampio aiuto disponibile dalla riga di comando. Un trucco per cercare l'aiuto è usare " vi $ helpfile " dall'interno della shell dei comandi dbx. Questo modifica i dati grezzi del file della guida in un file di grandi dimensioni. Puoi vedere alcuni esempi di funzioni della shell nel file dbxrc fornito con dbx e caricato di default. Puoi vedere un esempio più sofisticato guardando il modulo di integrazione libumem. Puoi trovarlo qui:

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

Anch'io devo usare dbx al lavoro e capire le tue frustrazioni!

Alcuni suggerimenti che ho scoperto che rendono la mia vita un po 'più semplice:

Utilizzando il sistema di comandi integrato in questo modo: when stop {stampa qualunque cosa ; }
Ovviamente non funziona quando qualunque cosa è fuori portata, ma lo trovo abbastanza utile. Devo ancora avere molta gioia con la funzione "trace", YMMV.

Creare il tuo file .dbxrc ti semplifica la vita, così come la " pathmap " caratteristica.

Infine, questo è ovvio solo se lo conosci già, ma prova Manuale di Sun .

Non è particolarmente ben scritto, ma è ancora una lettura essenziale.

Autorizzato sotto: CC-BY-SA insieme a attribuzione
Non affiliato a StackOverflow
scroll top