検索

10.2.2. 選択したライブラリー呼び出しの追跡

download PDF

選択したライブラリーコールのセットのみを追跡するには、-e コマンドラインオプションを指定して ltrace ユーティリティーを実行します。

$ scl enable devtoolset-10 'ltrace -e expression program argument...'

expression をルールチェーンに置き換え、トレースするライブラリー呼び出しを指定します。ルールは、シンボル名 (malloc または free など) と、ライブラリー SONAME (libc.so など) を識別するパターンで構成されています。たとえば、malloc および free 関数への呼び出しを追跡し、libc ライブラリーが実行したものを省略するには、以下のコマンドを実行します。

$ scl enable devtoolset-10 'ltrace -e malloc+free-@libc.so* program'

例10.2 選択したライブラリー呼び出しの追跡

ls コマンドを考慮します。このプログラムで ltrace ユーティリティーを実行し、opendirreaddir、および closedir 関数呼び出しでのみトレースします。

$ scl enable devtoolset-10 'ltrace -e opendir+readdir+closedir ls'
ls->opendir(".")     = { 3 }
ls->readdir({ 3 })   = { 61533, "." }
ls->readdir({ 3 })   = { 131, ".." }
ls->readdir({ 3 })   = { 67185100, "BUILDROOT" }
ls->readdir({ 3 })   = { 202390772, "SOURCES" }
ls->readdir({ 3 })   = { 60249, "SPECS" }
ls->readdir({ 3 })   = { 67130110, "BUILD" }
ls->readdir({ 3 })   = { 136599168, "RPMS" }
ls->readdir({ 3 })   = { 202383274, "SRPMS" }
ls->readdir({ 3 })   = nil
ls->closedir({ 3 })  = 0
BUILD  BUILDROOT  RPMS  SOURCES  SPECS  SRPMS
+++ exited (status 0) +++

利用可能なフィルター式の詳細は、ltrace(1) man ページを参照してください。

Red Hat logoGithubRedditYoutubeTwitter

詳細情報

試用、購入および販売

コミュニティー

Red Hat ドキュメントについて

Red Hat をお使いのお客様が、信頼できるコンテンツが含まれている製品やサービスを活用することで、イノベーションを行い、目標を達成できるようにします。

多様性を受け入れるオープンソースの強化

Red Hat では、コード、ドキュメント、Web プロパティーにおける配慮に欠ける用語の置き換えに取り組んでいます。このような変更は、段階的に実施される予定です。詳細情報: Red Hat ブログ.

会社概要

Red Hat は、企業がコアとなるデータセンターからネットワークエッジに至るまで、各種プラットフォームや環境全体で作業を簡素化できるように、強化されたソリューションを提供しています。

© 2024 Red Hat, Inc.