En la mayoría de los días actualizados, algunos usuarios han encontrado un código de error fantástico al usar gdb debug ns2. Este desafío puede surgir por varias razones. Hablemos de ellos ahora.
Recomendado
Fugas de memoria
- OTcl
OTcl, en particular TclCL, le permite activar objetos contemporáneos,sin embargo, como resultado, no ofrece una excelente recolección de basuraMecanismo para estas unidades asignadas. Esto también puede ser fácilpérdida de memoria involuntaria.Importante: herramientas que incluyen dmalloc purifyno puede detectar una fuga de memoria del tipo alrededor.Por ejemplo, considere este sencillo script OTcl ns:
definir [nuevo simulador]porque acabo de poner 7 {$ iEspera que nuestro uso de memoria disminuya despuésSe asigna el primer valor aleatorio. Pero dado sobre todo, porque OTcl no lo tiene.Bandera de rechazo en caso de que se seleccione una segunda variable aleatoria,el cuerpo anterior no se liberará y, posteriormente, desencadenará una pérdida de memoria.Desafortunadamente para muchos, no hay una solución fácil porque la basuraEl conjunto de tareas en línea es fundamentalmente incompatible con esto.Esprit en Tcl. La única forma de dejarlo claro ahora es siempre siempreEscriba explícitamente cada objeto OTcl asignado en un script general paraal igual que se encargan de los objetos transportados en C / C ++.
- C / C ++
Otra fuente son las fugas de recuerdos en C / C ++. Entonces, la guía también es mucho más simple.Esté atento a algunas herramientas especialmente diseñadas para esta identidad, por ejemplo:dmalloc y limpio.Ns tiene este inusual destino
ns-pure
para crear ns purosinstigar ejecutable. Primero asegúrese de que la macroPURIFY
debe estar enns Makefile consiste en repararcompilador
para suLinker (consulte la página del manual si sabe cuál es).Luego ingresemake ns-pure
.Para obtener más información sobre el uso de ns con libdmalloc, consulte aquí.
Depuración a nivel de Tcl
Ns admite el depurador Don Libs Tcl(verDocumentación PostScriptyFuente).Instale el programa o cierre el sitio de la causa enparalelo con ns-2 y la situación probablemente se estableció.A diferencia de la espera descrita que se puede encontrar en la documentación de tcl-debug,no lo asistimos-D Bandera. Para superar estoDepurador, agregue un brillante “Depurar 1” al scriptlugar apropiado.
El comando rrr ns gen-map enumera cada objeto encontrado en forma sin procesar.
Esto es realmente útil para correlacionar el rango con esta característica de un objeto.dado o tal vez nombre.Object nameect es el descriptor OTcl completo, normalmente un nuevo nombre“ _o ### ”. TclObjects,un depurador de C ++ también está disponible para esto, como para obtener gdbasí-> nombre_.
Depuración en el nivel C
Cualquier depurador estándar probablemente pueda manejar esta valiosa tarea.
La siguiente macro para gdb hace que sea menos complicado entender lo que hay dentro. aprobarRutinas que toman argumentos Tcl TcpAgent :: command ()):
## (para hacer que los argumentos de dumping pasen a Tcldefinir pargvcdefinir $ mi socio = 0mientras $ iMezcla de depuración de Tcl y C
(Siempre divertido, ¿verdad?)
Esta es normalmente una realidad dolorosa que suele surgir mientras se visualiza la salida de Tcl y se depura.Cosas del nivel Tcl orando para llegar al nivel C dice y / o viceversaviceversa. Este es un pequeño consejo sobre cómo facilitar esta tarea.Si indudablemente está navegando ns gdb entonces
- El Si hace contacto con (que se muestra en negrita a continuación) lo guíaAcceso al depurador de Tcl. Consejos sobre cómo hacer que esta loción sea únicaUsando el depurador y lo que puede hacer con élUse Gdb Debug Ns2
Ispolzovat Gdb Debug Ns2
Usar Gdb Debug Ns2
Usa Gdb Debug Ns2
Uzyj Debugowania Gdb Ns2
Utiliser Gdb Debug Ns2
Anvand Gdb Debug Ns2
Gebruik Gdb Debug Ns2
Verwenden Sie Gdb Debug Ns2
Gdb 디버그 Ns2 사용