Cuando se ejecuta strace en un programa de multiproceso consigo resultados como este:Programa Strace multiproceso
[pid 14778] futex(0x7fd8082f266c, FUTEX_WAKE_OP_PRIVATE, 1, 1, 0x7fd8082f2668, {FUTEX_OP_SET, 0, FUTEX_OP_CMP_GT, 1} <unfinished ...>
[pid 14780] <... futex resumed>) = 0
Aviso los argumentos están en una línea con <unfinished...>
y el resultado es en otra línea con <...resumed>
. No tener argumentos correlacionados con sus resultados reduce la utilidad de strace. ¿Es posible imprimir los resultados y los argumentos en la misma línea al rastrear un programa multiproceso?
si la salida a archivos usando -ff -o puedo conseguir el resultado que estoy buscando. Sin embargo, preferiría escribir el resultado en mi consola en lugar de cien archivos diferentes. :) – benmmurphy
.. pero hay un problema de cronología: esa operación mutex particular realmente comienza en un hilo, bloquea ese hilo y causa un retorno en otro hilo. – pjc50
No me importaría si se imprimiera: syscall (args) = sin terminar, reanudado: syscall (args) = resultado. eso no tiene un problema cronológico y aún puedo unir args a un resultado. el problema es que la segunda línea que imprime en este momento es syscall (reasumido) = resultado que no me es muy útil. – benmmurphy