memory Commandes Internes Tcl
NOM
memory - Contrôle les possibilités Tcl de debugging mémoire.
SYNTAXE
memory option ?arg arg ...?
DESCRIPTION
La commande
memory donne au developpeur Tcl le contrôle des possibilités Tcl de debugging mémoire La commande memory a plusieurs sous-options, qui sont décrites ci-dessous Elle sont seulement disponibles quand Tcl a été compilé avec le debugging mémoire activé (quand
TCL_MEM_DEBUG est défini à la compilation ).
- memory info
- Produit un rapport contenant le total alloué et libère les blocs alloués depuis que Tcl à été lancé(le nombre courant d'appels à ckalloc auquel ne correspond pas un appel à ckfree), les octets courant alloués, et le nombre maximum de blocs et d'octets alloués.
memory trace [on|off]
- Active/désactive le traçage mémoire Quand le traçage mémoire est activé, tout appel de ckalloc cause l'écriture d'une ligne de trace vers stderr, consistant du mot ckalloc, suivi par l'adresse renvoyée, le total de mémoire allouée, et le nom de fichier C et numéro de ligne de le code qui a effectué l'allocation Par exemple:
ckalloc 40e478 98 tclProc.c 1406
Les appels à ckfree sont tracés de la même manière.
memory validate [on|off]
- Active/désactive la validation mémoire. Quand la validation mémoire est activée, à tout appel de ckalloc ou ckfree, les zone gardées sont vérifiées pour toute pièce de mémoire couramment existante qui a été allouée par ckalloc. Ceci a un grand impact sur la performance et doit seulement être utilisé quand des problèmes d'écrasement sont sérieusement suspectés. L'avantage d'activer la validation mémoire est qu'une zone gardée écrasée peut être détectée au premier appel de ckalloc ou ckfree suivant l'écrasement, plutôt que quand la mémoire spécifique avec la zone gardée(s) ecrasée(s) est libérée, ce qui peut arriver longtemps après l'écrasement.
memory trace_on_at_malloc count
- Active le traçage mémoire après count ckalloc aient été effectués. Par exemple, si vous tapez memory trace_on_at_malloc 100, après le 100ème appel de ckalloc, l'information de trace mémoire sera affichée pour toute allocations et libération. Comme il peut y avoir une grande activité mémoire avant qu'un problème se produise, un usage judicieux de cette option peut reduire le ralentissement causé par le traçage (et le volume de trace produit), si vous pouvez identifier un nombre d'allocations effectuées avant le problème. Le nombre courant d'allocations mémoire qui se sont produites depuis que Tcl a été lancé est écrit dans une zone préservée des echecs.
memory break_on_malloc count
- Après que count allocations aient été effectuées, ckalloc emet un message à cet effet et qui signale également qu'il tente de lancer le debugger C Tcl emet alors un signal SIGINT vers lui-même. Si vous exécutez Tcl sous un debugger C, le debugger doit alors entrer en mode commande.
memory display file
- Ecrit une liste de toute la mémoire couramment allouée dans le fichier spécifié
VOIR EGALEMENT
ckalloc, ckfree, Tcl_ValidateAllMemory, Tcl_DumpActiveMemory, TCL_MEM_DEBUG
Dernière révision: 8.1