[strace/strace] Feature request: Multiline syscalls output with syscall argument names and hexdumping buffer arguments (#155)

Igor Zhbanov notifications at github.com
Mon Sep 7 16:35:24 UTC 2020


Currently strace outputs the syscall info in a single line. This doesn't allow to print information in a more structured and more human readable way. For example, currently it looks like:
`read(3</etc/localtime>, "TZif2\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\21\0\0\0\21\0\0\0\0\0\0\0N\0\0\0\21\0\0\0&\200\0\0\0\233_\36\307\235>\362y\236*\356\371\236\3679i\237\204W\371\240\330l\351\241\0009\200\241<\246@\244\20m\300\244=2\260\245\25h\260\245=\3\300\247\36EP\265\244\31`\25'\247\320\26\30\334@\27\10\333P\27\372\17\300\30\352\16\320\31\333C@\32\314\223\320\33\274\240\360\34\254\221\360\35\234\202\360\36\214s\360\37|d\360 lU\360!\\F\360\"L7\360#<(\360$,\31\360%\34\n\360&\v\373\360'\5'p'\365\30p(\345\27\200)x\277\200)\324\372p*\304\353p+\264\334p,\244\315p-\224\276p.\204\257p/t\240p0d\221p1]\274\3602r\227\3603=\236\3604Ry\3605\35\200\36062[\3606\375b\3608\33xp8\335D\3609\373Zp:\275&\360;\333<p<\246Cp=\273\36p>\206%p?\233\0p at f\7pA\204\34\360BE\351pCc\376\360D%\313pEC\340\360F\5\255pG#\302\360G\356\311\360I\3\244\360I\316\253\360J\343\206\360K\256\215\360L\314\243pM\216o\360TL\35`\1\3\2\3\4\2\4\5\6\7\10\7\6\t\6\7\6\7\6\7\6\7\n\v\n\v\n\v\n\v\n\v\n\v\n\f\r\n\v\n\v\n\v\n\v\n\v\n\v\n\v\n\v\n\v\n\v\n\v\n\v\n\v\n\v\n\v\n\v\n\v\n\v\n\v\n\16\n\0\0#9\0\0\0\0#9\0\4\0\0001\207\1\10\0\0#w\0\4\0\0?\227\1\f\0\0008@\1\21\0\0*0\0\25\0\0008@\1\21\0\0FP\1\31\0\0\34 \0\35\0\0*0\0\25\0\0008@\1\21\0\0*0\1!\0\0\34 \0\35\0\0008@\0\25\0\0008@\1\21\0\0*0\0\25LMT\0MMT\0MST\0MDST\0MSD\0MSK\0+05\0EET\0EEST\0\0\0\0\0\0\1\0\0\0\0\1\1\1\1\1\1\1\0\0\0\0\0\1\0\0\0\0\0\0\0\0\0\0\0TZif2\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\21\0\0\0\21\0\0\0\0\0\0\0N\0\0\0\21\0\0\0&\377\377\377\377V\266\300\307\377\377\377\377\233_\36\307\377\377\377\377\235>\362y\377\377\377\377\236*\356\371\377\377\377\377\236\3679i\377\377\377\377\237\204W\371\377\377\377\377\240\330l\351\377\377\377\377\241\0009\200\377\377\377\377\241<\246@\377\377\377\377\244\20m\300\377\377\377\377\244=2\260\377\377\377\377\245\25h\260\377\377\377\377\245=\3\300\377\377\377\377\247\36EP\377\377\377\377\265\244\31`\0\0\0\0\25'\247\320\0\0\0\0\26\30\334@\0\0\0\0\27\10\333P\0\0\0\0\27\372\17\300\0\0\0\0\30\352\16\320\0\0\0\0\31\333C@\0\0\0\0\32\314\223\320\0\0\0\0\33\274\240\360\0\0\0\0\34\254\221\360\0\0\0\0\35\234\202\360\0\0\0\0\36\214s\360\0\0\0\0\37|d\360\0\0\0\0 lU\360\0\0\0\0!\\F\360\0\0\0\0\"L7\360\0\0\0\0#<(\360\0\0\0\0$,\31\360\0\0\0\0%\34\n\360\0\0\0\0&\v\373\360\0\0\0\0'\5'p\0\0\0\0'\365\30p\0\0\0\0(\345\27\200\0\0\0\0)x\277\200\0\0\0\0)\324\372p\0\0\0\0*\304\353p\0\0\0\0+\264\334p\0\0\0\0,\244\315p\0\0\0\0-\224\276p\0\0\0\0.\204\257p\0\0\0\0/t\240p\0\0\0\0000d\221p\0\0\0\0001]\274\360\0\0\0\0002r\227\360\0\0\0\0003=\236\360\0\0\0\0004Ry\360\0\0\0\0005\35\200\360\0\0\0\00062[\360\0\0\0\0006\375b\360\0\0\0\0008\33xp\0\0\0\0008\335D\360\0\0\0\0009\373Zp\0\0\0\0:\275&\360\0\0\0\0;\333<p\0\0\0\0<\246Cp\0\0\0\0=\273\36p\0\0\0\0>\206%p\0\0\0\0?\233\0p\0\0\0\0 at f\7p\0\0\0\0A\204\34\360\0\0\0\0BE\351p\0\0\0\0Cc\376\360\0\0\0\0D%\313p\0\0\0\0EC\340\360\0\0\0\0F\5\255p\0\0\0\0G#\302\360\0\0\0\0G\356\311\360\0\0\0\0I\3\244\360\0\0\0\0I\316\253\360\0\0\0\0J\343\206\360\0\0\0\0K\256\215\360\0\0\0\0L\314\243p\0\0\0\0M\216o\360\0\0\0\0TL\35`\1\3\2\3\4\2\4\5\6\7\10\7\6\t\6\7\6\7\6\7\6\7\n\v\n\v\n\v\n\v\n\v\n\v\n\f\r\n\v\n\v\n\v\n\v\n\v\n\v\n\v\n\v\n\v\n\v\n\v\n\v\n\v\n\v\n\v\n\v\n\v\n\v\n\v\n\16\n\0\0#9\0\0\0\0#9\0\4\0\0001\207\1\10\0\0#w\0\4\0\0?\227\1\f\0\0008@\1\21\0\0*0\0\25\0\0008@\1\21\0\0FP\1\31\0\0\34 \0\35\0\0*0\0\25\0\0008@\1\21\0\0*0\1!\0\0\34 \0\35\0\0008@\0\25\0\0008@\1\21\0\0*0\0\25LMT\0MMT\0MST\0MDST\0MSD\0MSK\0+05\0EET\0EEST\0\0\0\0\0\0\1\0\0\0\0\1\1\1\1\1\1\1\0\0\0\0\0\1\0\0\0\0\0\0\0\0\0\0\0\nMSK-3\n", 4096) = 1535`

First, for easier readability system call arguments could be printed to avoid looking into man. Second, long buffer arguments could be printed in a hexdump format for easier understanding:
```
read(int fd = 3</etc/localtime>,
```

-- 
You are receiving this because you are subscribed to this thread.
Reply to this email directly or view it on GitHub:
https://github.com/strace/strace/issues/155
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.strace.io/pipermail/strace-devel/attachments/20200907/e6b3820f/attachment.htm>


More information about the Strace-devel mailing list