我知道该-s
选项应该显示更长的参数,但它总是不起作用(可能是因为那些大括号意味着数组或嵌套参数?).
即使在运行strace -s1000 my_command
此参数后仍然被截断:
ioctl(3,SNDCTL_TMR_TEMPO或TCGETA,{B9600 -opost -isig -icanon -echo ...})= 0
我怎么能看到完整的论点?
还有就是在这样的选项strace
参数-你应该使用-v命令行开关.此外,由于这个伟大实用程序的开源特性,您可以通过修补源代码中的defs.h
标头来完全禁用缩写:strace
< #define abbrev(tcp) ((tcp)->qual_flg & QUAL_ABBREV) --- > #define abbrev(tcp) 0
我strace-4.9
从我当地的gentoo/usr/portage/distfiles /软件源存储中修补了这种方式.它不需要从sourceforge下载最新的strace源.
要详细描述Vladimir Kunschikov所说的内容 - 运行以下命令:
git clone git://git.code.sf.net/p/strace/code strace-code
cd strace-code
按照Vladimir Kunschikov的描述修改defs.h文件的一部分.
./bootstrap
./configure
make
make install
strace
应该已经安装了修改后的版本/usr/local/bin/strace
.现在,strace
为该-s
选项运行使用较大的值.例:
strace -s 65536 command_to_run_goes_here
资料来源:
Vladimir Kunschikov的回答.
https://github.com/strace/strace/issues/2