[gull] truc et astuce: strace pour chercher l'erreur

Félix Hauri felix at f-hauri.ch
Sun May 8 00:05:03 CEST 2005


On Sat, May 07, 2005 at 10:38:28PM +0200, Guillaume Cottenceau wrote:
> Félix Hauri <felix 'at' f-hauri.ch> writes:
> 
> > $ strace 2>&1 leprogrammeencause args | grep ^open.*$USER
> 
> `strace -eopen' est aussi à noter pour ce type d'utilisation.
Oui, mais l'intéret est le `` grep $USER '' qui fait ressortir
les fichiers de configs connexes.

> 
> En general `strace -f' est necessaire pour suivre les forks.
Souvent, mais à priori pas si général que ça...
sauf si tu utilise des ``wrappers''

> ...
> >             syswrite ( STDOUT,
> >                 sprintf "\rR:%12d W:%12d %8d -> r:%11.2fK/s w:%11.2fK/s",
> >                     $tot{read}, $tot{write}, $etim,
> >                     $tot{read}/$etim/1024, $tot{write}/$etim/1024 ) 
> >                 if $etim > 0;
> Pourquoi ne pas utiliser printf directement...
syswrite provoque l'affichage (ecriture) immédiat, tandis que print passe
par un buffer...

> ... au besoin avec $| à 1 ?
Tout se discute, question de goût et d'habitude...
En fait, je n'ai jamais utilisé ``$|=1'' en ligne de commande :-/
(C'est l'``autoflush'', j'ai déjà eu maille à partir avec, essentiellement
 pour des CGI en server-push, mais je n'aime pas trop cette variable...)


--
 Félix Hauri  -  <felix at f-hauri.ch>  -  http://www.f-hauri.ch



More information about the gull mailing list