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?
To verbosely describe what Vladimir Kunschikov said - run the following commands:
git clone git://git.code.sf.net/p/strace/code strace-code
cd strace-code
./bootstrap
./configure
make
make install
The modified version of
strace
should have been installed in/usr/local/bin/strace
. Now, run thestrace
using a large value for the-s
option. Example:Sources:
Here it is not length problem.
You can add here more flags if you want. The flags are defined in /usr/include/asm-generic/termbits.h
According to the manual and the source, the
-v
option should help you with large structures.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 thedefs.h
header in thestrace
sources: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.