In tempi nuovissimi, alcuni utenti hanno riscontrato un programma di errore durante l’utilizzo di gdb debug ns2. Questo problema in molti casi può sorgere per diversi motivi. Discutiamone ora.
Consigliato
Perdite di memoria
- OTcl
OTcl, mentre in particolare TclCL, permette di attivare gli oggetti più recenti,tuttavia, di conseguenza, non offre una fantastica collezione di caccaMeccanismo per queste unità assegnate. Anche questo può essere facileperdita di memoria involontaria.Importante: strumenti come dmalloc purifynon è possibile specificare una perdita di memoria del tipo.Ad esempio, considera questo semplice script OTcl ns:
spiega [nuovo simulatore]perché ho appena messo due {$ iTi aspetti che il nostro utilizzo della memoria si riduca dopoViene assegnato il primo valore casuale. Ma sopra alcuni, perché OTcl non ce l'ha.Contrassegno di rifiuto se viene selezionata questa seconda variabile casuale,il precedente di solito non viene liberato e successivamente causerà la particolare perdita di memoria.Sfortunatamente per molti, non esiste una soluzione relativamente facile perché la spazzaturaL'insieme dei compiti è fondamentalmente incompatibile con questo.Esprit su Tcl. Il modo semplice per chiarire ora è senza dubbio sempreScrivi esplicitamente ogni oggetto OTcl assegnato nella storia aproprio come si occupano degli elementi spostati in C/C++.
- C / C ++
Un’altra fonte sono i gocciolamenti di memoria in C / C ++. NSpoi anche i suggerimenti e i suggerimenti sono molto più sempliciTieni d’occhio adatto alcuni strumenti appositamente progettati per questo ruolo, per lavorare con esempio:dmalloc e pulito.Ns ha questo obiettivo speciale
ns-pure
per creare puro nsfile eseguibile. Per prima cosa assicurati che la macroPURIFY
sia di solito inns Makefile è costituito dal correttocompilatore
per il tuoLinker (controlla la pagina dei maschi vuota se sai di cosa si tratta).Quindi vai inmake ns-pure
.Per ulteriori informazioni sulla generazione di ns con libdmalloc, vedere qui.
Debug a livello di Tcl
Ns supporta il debugger Don Libs Tcl(vedereDocumentazione PostScripteFonte).Installa il programma o chiudi la pagina web di origine inparallelamente a ns-2 e la situazione si era stabilita.A differenza dell’attesa descritta che può essere trovata durante la documentazione di tcl-debug,non lo supportiamo-D Bandiera. Per superare questoDebugger, aggiungi un brillante “Debug 1” allo scriptluogo appropriato.
Il comando usd ns gen-map elenca ogni oggetto in forma non elaborata.
Questo è davvero utile per correlare la posizione accanto a questa caratteristica di un oggetto.dato il suo nome.Il nome dell’oggetto è normalmente l’intero descrittore OTcl, di solito la menzione è“ _o ### ”. TclOggetti,probabilmente sarà disponibile anche un debugger C ++ per questo, come per quanto riguarda gdbcome questo-> nome_.
Debug a livello C
Qualsiasi debugger standard può probabilmente gestire questo tipo di attività.
La seguente macro per gdb rende più facile capire cosa c’è dentro. passaggioRoutine che accettano giustificazioni Tcl TcpAgent :: command ()):
## (per quanto riguarda l'eliminazione degli argomenti passati a Tcldefinire pargvcdefinire $ i implica 0mentre $ iMescola il debug Tcl e C
(Sempre divertente, vero?)
Questa è una realtà molto dolorosa che di solito si presenta quando si sperimenta l'output e il debug di Tcl.Roba di livello Tcl sperando di arrivare al livello C dice e viceversavice versa. Questo è un piccolo suggerimento su quale metodo per rendere più facile questo compito.Se sei online ns gdb allora
- La chiamata If (mostrata in grassetto sotto) ti guidaAccesso al debugger Tcl. Suggerimenti su come rendere unico questo strumentoUtilizzo del debugger e cosa puoi fare su di essoUse Gdb Debug Ns2
Ispolzovat Gdb Debug Ns2
Usar Gdb Debug Ns2
Uzyj Debugowania Gdb Ns2
Utiliser Gdb Debug Ns2
Utilizar Gdb Debug Ns2
Anvand Gdb Debug Ns2
Gebruik Gdb Debug Ns2
Verwenden Sie Gdb Debug Ns2
Gdb 디버그 Ns2 사용