プロファイリングにperfを使用すると、通常は次のように動作します。
perf record -g -F99 $BINARY_NAME
完了すると、コマンドが表示されます。
[ perf record: Captured and wrote 0.006 MB output.data (37 samples) ]
を使用して、キャプチャされたスタックトレースを読み取ることができますperf script
。
しかし、私のプログラムは非同期ネットワーキングを実行しており、接続しているサーバーがオフラインの場合(私のプログラムは「ホストへのパスなし(OSエラー113)」を受け取り、それを処理して再接続しようとします)パフォーマンスコマンドが収集に失敗しました。サンプル:
[ perf record: Captured and wrote 0.006 MB output.data ]
Inspection を使用すると、perf script
何も出力されません。サーバーがオンラインであれば、すべてがうまく機能します。
私のプログラムはRustで書かれたデフォルトのバイナリです。なぜこれが起こるのかご存知ですか?