Show complete arguments in strace even in curly brackets

Marki555 picture Marki555 · Dec 19, 2015 · Viewed 9.7k times · Source

I know the -s option should display longer arguments, but it doesn't work always (probably because of those curly brackets meaning array or nested arguments?).

Even after running strace -s1000 my_command this argument is still truncated:

ioctl(3, SNDCTL_TMR_TEMPO or TCGETA, {B9600 -opost -isig -icanon -echo ...}) = 0

How can I see the complete arguments?

Answer

Vladimir Kunschikov picture Vladimir Kunschikov · Dec 19, 2015

There is such option in the strace parameters - you should use -v command line switch. Furthermore, due to the opensource nature of this great utility, you can disable abbreviation totally by patching the defs.h header in the strace sources:

< #define abbrev(tcp)   ((tcp)->qual_flg & QUAL_ABBREV)
---
> #define abbrev(tcp)   0

I've patched that way strace-4.9 from my local gentoo /usr/portage/distfiles/ software sources storage. It doesn't require to download latest strace sources from sourceforge.