プロセスが呼び出すシステムコールを確認する「低レベル」方法はありますか?

プロセスが呼び出すシステムコールを確認する「低レベル」方法はありますか?

私のパッケージマネージャとして機能する固定バイナリがあるため、新しいパッケージをインストールできません。

gdbで実行すると、プロセスが停止したときにトレースが得られ、次のような結果が得られます。

#0  0xb6cd9abc in syscall () from /lib/libc.so.6                                                                                                                                                                  
#1  0xb60a99b0 in startParsing () from /usr/lib/libexpat.so.1

したがって、国外の居住者が決して返されないシステムコールを実行しているようです。

このシステムコールの詳細を学ぶための「低レベル」方法はありますか? straceをインストールしたいのですが、パッケージマネージャが失敗したため、straceをシステムに簡単にインストールすることはできません。

CPUはARMなので、既製のバイナリダウンロードが少し複雑になります。

ベストアンサー1

straceがインストールされているとします。

strace /path/to/binary

編集:私はstraceがないという最後の部分を読んでいません。 strace tarballをダウンロードし、パッケージマネージャを使用せずにビルドできる必要があります。ビルドツールがインストールされていない場合は、別のコンピュータに静的にビルドしてコピーできます。

おすすめ記事