Nos últimos dias, alguns usuários encontraram qualquer código de erro ao usar o gdb debug ns2. Essa preocupação pode surgir por vários motivos. Vamos discutir tudo agora.
Recomendado
Vazamentos de memória
- OTcl
OTcl, em particular TclCL, permite que você ative objetos mais novos,no entanto, como resultado, ele não oferece uma coleção de lixo fabulosaMecanismo para essas unidades atribuídas. Isso provavelmente também será fácilvazamento de memória não intencional.Importante: ferramentas como dmalloc purifynão pode detectar um vazamento de memória do tipo além.Por exemplo, considere este script OTcl ns simples:
define [novo simulador]porque acabei de colocar 3 {$ iVocê espera que nosso uso de memória reduza apósO primeiro valor aleatório é atribuído. Mas acima de tudo, porque OTcl não tem.Sinalizador de recusa como se uma segunda variável aleatória fosse selecionada,o anterior um específico não será liberado e, subsequentemente, criará um vazamento de memória.Infelizmente para muitos, existe uma solução fácil porque o lixoO conjunto de construções é fundamentalmente incompatível com isso.Esprit no Tcl. A única maneira de deixar claro agora é sempre sempreEscreva explicitamente cada objeto OTcl atribuído no qual o script paraassim como eles cuidam de objetos lurados em C / C ++.
- C / C ++
Outra fonte são os vazamentos de recall em C / C ++. ENtão cada um de nosso guia é muito mais simples tambémFique de olho em algumas ferramentas especialmente projetadas para essa responsabilidade, por exemplo:dmalloc e limpo.Ns tem esse alvo
ns-pure
para criar ns purosarquivo executável manualmente. Primeiro, certifique-se de que a macroPURIFY
geralmente está emns Makefile consiste no verdadeirocompilador
para o seuLinker (verifique a página de manual em branco se você souber o que isso significa).Em seguida, digitemake ns-pure
.Para obter mais informações em relação ao uso de ns com libdmalloc, consulte aqui.
Depuração de nível Tcl
Ns suporta o depurador Don Libs Tcl(VejoDocumentação PostScripteFonte)Instale o programa ou feche o site inicial emparalelo com o ns-2 e a situação é estabelecida.Ao contrário da espera descrita, que pode estar disponível na documentação tcl-debug,nós não prestamos serviços-D Bandeira. Para passar por issoDepurador, adicione um “Debug 1” brilhante e perceptível ao scriptlocal apropriado.pO comando ns gen-map lista cada objeto na forma bruta.
pIsso é realmente útil para correlacionar a orientação com esse recurso de um objeto.dado seu nome.O nome do objeto é o descritor OTcl completo, geralmente o nome mais importante é“ _o ### ”. TclObjects,um depurador C ++ também está disponível para isso, apenas para gdbcomo este-> nome_.
Depuração no nível C
Qualquer depurador padrão provavelmente pode lidar com essa tarefa.pA macro a seguir para gdb torna muito mais fácil entender o que está dentro. passarRotinas que usam argumentos Tcl TcpAgent :: command ()):
## (conforme necessário para argumentos de dumping passados para Tcldefinir pargvcdefinir $ i apenas = 0enquanto $ iDepuração combinada de Tcl e C
(Sempre divertido, certo?)
Esta tem sido uma realidade dolorosa que geralmente surge ao ver a saída do Tcl e a depuração.Coisas de nível Tcl esperançoso de chegar ao nível C diz e, como consequência, vice-versavice-versa. Esta é uma pequena dica de como tornar essa tarefa mais fácil.Se você continuar navegando no ns gdb,
- O anel If (mostrado em negrito abaixo) orienta vocêAcesso ao depurador Tcl. Dicas sobre como tornar esta peça únicaUsando o depurador e o que você pode fazer com eleUse Gdb Debug Ns2
Ispolzovat Gdb Debug Ns2
Usa 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 사용