crash> p/x *(*(struct trace_page*)0xFFFF8804125CBA60).page | sed 's/^\$[0-9]* =/0xFFFF8804125CBA60 =/' >> trace-data.txt\n gdb: gdb request failed: p/x *(*(struct trace_page*)0xFFFF8804125CBA60).page | sed 's/^\$[0-9]* =/0xFFFF8804125CBA60 =/' crash> p/x *(*(struct trace_page*)0xFFFF8804125CBA60).page $1467 = { flags = 0x200000000000000, _count = { counter = 0x1 }, { _mapcount = { counter = 0xffffffff }, { inuse = 0xffff, objects = 0xffff } }, { { private = 0x0, mapping = 0x0 }, ptl = { raw_lock = { slock = 0x0 } }, slab = 0x0, first_page = 0x0 }, { index = 0x0, freelist = 0x0, reserve = 0x0, frag_count = { counter = 0x0 } }, lru = { next = 0xdead000000100100, prev = 0xdead000000200200 } } ============== P.S. speaking of dead horses: were the fprintf(fp...) placed *before* the command pipe redirection (like when the command had just been read in and not yet scanned), *THEN* the output would go to the right place. Here, the command scanning just goes off into the weeds and misses the pipe operator entirely. -- Crash-utility mailing list Crash-utility@xxxxxxxxxx https://www.redhat.com/mailman/listinfo/crash-utility