memory

 

memory - Contrôle les possibilités Tcl de déverminage mémoire.

SYNTAXE

 memory option ?arg arg ...?

DESCRIPTION

La commande memory donne au développeur 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 [77] 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 du 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 réduire 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 échecs.

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 débugger C Tcl emet alors un signal SIGINT vers lui-même. Si vous exécutez Tcl sous un débugger C, le débugger doit alors entrer en mode commande.

memory display file Écrit une liste de toute la mémoire couramment allouée dans le fichier spécifié


Catégorie Manuel Tcl/Tk