問題タブ [ltrace]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票する
1 に答える
2708 参照

linux - 一部のバイナリで ltrace が機能しない

man ページによると、ltrace は実行されたプロセスで動的ライブラリ呼び出しを傍受して記録することになっていますが、一部のバイナリでは正しく機能しないようです。

strcpy をトレースしようとしているときに問題を再現する方法を次に示します。

最初に、ltrace が一部のバイナリで動作できることを確認しました (wget here):

同じコードが httpd で機能しなくなりました。

gdb を使用して strcpy が呼び出されていることは確認できますが、ライブラリ呼び出しは追跡されませんでした。

これを Fedora 17 で実行しています。これは ltrace のバグですか、それとも予想される動作ですか?

0 投票する
1 に答える
873 参照

c++ - ltrace: ネスティング エラーの呼び出し

アプリケーションのプロファイリングを行うために ltrace -c -C ./a.out を実行していますが、次のようなエラーが発生します。

エラー: ネストが深すぎます!

私のコードは非常に単純です

0 投票する
0 に答える
10701 参照

debugging - gdb、valgrind、strace、ltrace、apport の違い

以下のデバッグツールの違いを探しています。

それらは何ですか?

E:誰かがここにつまずいて、同じことについて疑問に思っていた場合、「違い」は次のとおりです (man ページから短縮されています)。

  • GDB

    プログラムの実行中/クラッシュ中に、プログラムの「内部」で何が起こっているかを確認できます。

  • Valgrind

    デバッグとプロファイリングのための柔軟な一連のツール。

  • Strace

    プロセスによって呼び出された/受信されたシステム コールを記録/傍受します。

  • Ltrace

    プロセスによって呼び出された/受信されたシグナル/ダイナミック ライブラリ/システム コールを記録/傍受します。

  • Apport

    クラッシュ/未処理の例外をインターセプトし、OS 情報を収集し、役立つ UI を表示し、クラッシュ以外のバグを報告できます。

0 投票する
1 に答える
623 参照

linux - fork、vfork のカーネル レベル システム コールの重要性

fork、vfork を使用するプログラムの ltrace を使用してシステム コールをトレースすると、SYS_Clone システム コールを呼び出すことが示されます。では、カーネルでの SYS_fork、SYS_vfork システム コールの重要性は何ですか。彼らは歴史的な目的のためですか?

0 投票する
1 に答える
1407 参照

c++ - ワイルドカードで ltrace を使用する方法

私はltraceが初めてです。

たとえば、これは機能します:

しかし、これは何も一致しません:

また、運が悪い -e "/XDrawLin.*/"-e "XDrawLin.*"、どちらかです。実用的な例は大歓迎です。

  • これが整理されたら、C++ lib シンボルをトレースする方法に移りたいのですが、mangled または demangled 形式を使用する必要がありますか?
0 投票する
1 に答える
1873 参照

ltrace - Linux サーバーで「ltrace」コマンドを使用して実行中のプロセスを接続できない

特定のライブラリ呼び出しをトレースするために、ltrace コマンドでプロセスをアタッチしたいと考えています。しかし、以下の基本的なオプションを使用すると、ltrace コマンドは以下のようにエラーをスローします

ブレークポイントの初期化に失敗しました 26120
pid 26120 にアタッチできません: 成功

実行可能ファイルで同じオプションを試したところ、ltrace はその特定のライブラリ (libxml2.so.2.6.32) への呼び出しをトレースしています。

私のサーバー情報:

ltrace バージョン:

bash-3.2$ ltrace -V
ltrace バージョン 0.5。Copyright (C) 1997-2006 Juan Cespedes . これはフリー ソフトウェアです。コピー条件については、GNU General Public License バージョン 2 以降を参照してください。保証はありません。

このエラー メッセージをグーグルで検索しましたが、有用な情報は得られませんでした。私が理解したエラー メッセージから、ltrace プログラムは libxml2 ライブラリにブレークポイントを設定できません。しかし、ltrace がサンプル プログラムをトレースできるのに、なぜ失敗するのか、私にはよくわかりません。

誰もこの問題に直面しましたか? どんな助けでも大歓迎です。

どうもありがとう、サクティベル

0 投票する
1 に答える
244 参照

mpi - mpi プログラムで ltrace を使用するには?

ltrace を使用して mpi アプリケーションのライブラリ関数呼び出しを取得する方法を知りたいのですが、単純に ltrace が機能せず、mpirun が成功しません。何か案が?