2015-12-19 20 views
9

-sオプションは長い引数を表示する必要がありますが、常に機能しません(おそらく、中括弧は配列またはネストされた引数を意味するためです)。straceの完全な引数を中括弧で表示する

でもこの引数は依然として切り捨てられstrace -s1000 my_commandを実行した後:

IOCTL(3、SNDCTL_TMR_TEMPO又はTCGETA、{B9600 -opost -isig -icanon -echo ...})= 0

どのように完全な議論を見ることができますか?

答えて

12

straceパラメータにはこのようなオプションはありません。しかし、この偉大なユーティリティのオープンソースの性質のために、あなたは完全にdefs.hヘッダにパッチを当てることで略語を無効にすることができstracesources:私は私の地元のGentooは/ usr/portageからそのようstrace-4.9パッチを適用しました

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

/distfiles /ソフトウェアソースストレージ。最新のstraceソースをsourceforgeからダウンロードする必要はありません。

+0

'-v'引数は4.15として動作し、Gitリポジトリの作成時から存在しているようです。 – aitap

+0

私はそれがその時に注目されなかった理由を思います。このオプションは実際に動作するはずです。おそらくコードで判断すると、いくつかのビットの存在をチェックしているいくつかのビットフィールドとマクロを使用していると判断して、それ自体がログに記録されているため、このチェックを完全にクリアする方が簡単でした。 –

5

冗長にウラジミールKunschikovが言ったことを記述するために - 次のコマンドを実行します。

  1. git clone git://git.code.sf.net/p/strace/code strace-code
  2. cd strace-code
  3. ウラジミールKunschikovによって記載されているようにdefs.hファイルの一部を変更します。
  4. ./bootstrap
  5. ./configure
  6. make
  7. make install

straceの修正版は/usr/local/bin/straceにインストールされているべきです。これで、-sオプションに大きな値を使用してstraceを実行します。例:

strace -s 65536 command_to_run_goes_here 

出典:

  1. ウラジミールKunschikovの答え。
  2. https://github.com/strace/strace/issues/2
0

the manualthe sourceによると、-vオプションは、大きな構造のお手伝いをする必要があります。

関連する問題