Linux / ARMでライブラリ呼び出しをトレースするツール


8

Linux / ARMの共有ライブラリ内の関数の呼び出しを追跡できるツールを探しています。基本的に、コマンドラインを指定し、このツールで呼び出されたライブラリ関数と渡された引数のレコードを生成できるようにしたいと考えています。このために、何らかの形の関数フッキングを使用できると思います。

私が知っているはltrace、必要な機能を正確に提供します。しかし、ltraceそれは私にとってはうまくいきません:

  • より複雑なプログラムをトレースすると、segfaultになることがよくあります。
  • 非常に遅いです。

より堅牢な代替手段を探しています。スピードはいいですが、私の主な関心事ではありません。主に、任意の(非回避的)プログラムを分析できるライブラリー呼び出しをトレースする手段が必要です。

SysdigもARMでは機能せず、dtraceの移植はまだNetBSDでのみベータ版で機能しています。

誰かがそのようなツールを使用可能な状態で知っていますか?

回答:


1

LTTngを見たことがありますか?これは、ARMを含むいくつかのアーキテクチャで動作するカーネルスペース/ユーザースペーストレースフレームワークです。

LTTng-USTを使用して、ユーザー空間コードのトレースを設定できます。ただし、LTTngトレースポイントを追加して、トレースする共有ライブラリを再コンパイルする必要があります。

ユーザー空間トレースの設定に関する公式のlttngドキュメントからのガイドは次のとおりです。独自のユーザーアプリケーションのトレース

これがあなたのケースで役立つかどうかはわかりませんが、組み込みプラットフォーム(ARMを含む)でのlttngのコンパイル/インストールにはStack Overflowスレッドもあります。組み込みLinuxシステムにLTTngをビルドしてデプロイするにはどうすればよいですか?

弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.