PIDを使用したPerf記録プロセスは機能しません。

PIDを使用したPerf記録プロセスは機能しません。

プロファイリングに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で書かれたデフォルトのバイナリです。なぜこれが起こるのかご存知ですか?

関連情報