-s
オプションはより長い引数を表示する必要があることは知っていますが、常に機能するとは限りません(おそらく、配列またはネストされた引数を意味する中括弧が原因ですか?)。
strace -s1000 my_command
を実行した後でも、この引数は切り捨てられます。
ioctl(3、SNDCTL_TMR_TEMPOまたはTCGETA、{B9600 -opost -isig -icanon -echo ...})= 0
どうすれば完全な引数を確認できますか?
strace
パラメータにはisそのようなオプションがあります--vコマンドラインスイッチ。さらに、この優れたユーティリティのオープンソースの性質により、strace
sources のdefs.h
ヘッダーにパッチを適用することで、省略形を完全に無効にすることができます。
< #define abbrev(tcp) ((tcp)->qual_flg & QUAL_ABBREV)
---
> #define abbrev(tcp) 0
ローカルのgentoo/usr/portage/distfiles /ソフトウェアソースストレージからstrace-4.9
にパッチを適用しました。 sourceforgeから最新のstraceソースをダウンロードする必要はありません。
ウラジミール・クンスキコフが言ったことを詳細に説明するには、次のコマンドを実行します。
git clone git://git.code.sf.net/p/strace/code strace-code
cd strace-code
./bootstrap
./configure
make
make install
strace
の変更バージョンは/usr/local/bin/strace
にインストールされているはずです。ここで、-s
オプションに大きな値を使用してstrace
を実行します。例:
strace -s 65536 command_to_run_goes_here
出典:
ここでは長さの問題ではありません。
./term.c: tprintf(" %sopost %sisig %sicanon %secho ...}",
必要に応じて、ここにフラグを追加できます。フラグは/usr/include/asm-generic/termbits.hで定義されています