Je débogue un programme Go avec beaucoup de goroutines qui semblent bloquer.Stack Trace avec sortie à plusieurs niveaux
Je voudrais avoir une trace de pile quand elle gèle. Mais la sortie est longue et ne correspond pas à ma mémoire tampon. Donc, je veux le sortir dans un fichier. Cependant, si je publie stderr dans un fichier, je ne peux pas (facilement) détecter quand il se bloque.
Je me attendais tee
serait bien pour cela:
go test ./foo -v |& tee log.txt
Cependant, quand je frappe Ctrl
+ Alt
+ \
, pas de sortie de trace de la pile est indiqué, soit dans le terminal ou dans le fichier. D'une certaine manière, il semble qu'il ne survit pas au voyage à travers tee
.
Y a-t-il une meilleure façon de le faire?
essayer 'aller tester ./foo -v | tail -f log.txt' – abhink
Un core dump va toujours dans un fichier, mais vous devez régler 'GOTRACEBACK = crash' et utiliser' SIGABRT' – JimB
Toujours? Le core dump va au terminal si stderr va au terminal et je donne 'SIGQUIT'. – lash