問題タブ [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.
linux - 一部のバイナリで ltrace が機能しない
man ページによると、ltrace は実行されたプロセスで動的ライブラリ呼び出しを傍受して記録することになっていますが、一部のバイナリでは正しく機能しないようです。
strcpy をトレースしようとしているときに問題を再現する方法を次に示します。
最初に、ltrace が一部のバイナリで動作できることを確認しました (wget here):
同じコードが httpd で機能しなくなりました。
gdb を使用して strcpy が呼び出されていることは確認できますが、ライブラリ呼び出しは追跡されませんでした。
これを Fedora 17 で実行しています。これは ltrace のバグですか、それとも予想される動作ですか?
c++ - ltrace: ネスティング エラーの呼び出し
アプリケーションのプロファイリングを行うために ltrace -c -C ./a.out を実行していますが、次のようなエラーが発生します。
エラー: ネストが深すぎます!
私のコードは非常に単純です
debugging - gdb、valgrind、strace、ltrace、apport の違い
以下のデバッグツールの違いを探しています。
それらは何ですか?
E:誰かがここにつまずいて、同じことについて疑問に思っていた場合、「違い」は次のとおりです (man ページから短縮されています)。
GDB
プログラムの実行中/クラッシュ中に、プログラムの「内部」で何が起こっているかを確認できます。
Valgrind
デバッグとプロファイリングのための柔軟な一連のツール。
Strace
プロセスによって呼び出された/受信されたシステム コールを記録/傍受します。
Ltrace
プロセスによって呼び出された/受信されたシグナル/ダイナミック ライブラリ/システム コールを記録/傍受します。
Apport
クラッシュ/未処理の例外をインターセプトし、OS 情報を収集し、役立つ UI を表示し、クラッシュ以外のバグを報告できます。
linux - fork、vfork のカーネル レベル システム コールの重要性
fork、vfork を使用するプログラムの ltrace を使用してシステム コールをトレースすると、SYS_Clone システム コールを呼び出すことが示されます。では、カーネルでの SYS_fork、SYS_vfork システム コールの重要性は何ですか。彼らは歴史的な目的のためですか?
c++ - ワイルドカードで ltrace を使用する方法
私はltraceが初めてです。
- 関数呼び出しをトレースするためにワイルドカード (パターン) を使用したいのですが、 http: //man7.org/linux/man-pages/などの Web ページに基づいて、正常に機能していないようです。 man1/ltrace.1.html
たとえば、これは機能します:
しかし、これは何も一致しません:
また、運が悪い -e "/XDrawLin.*/"
か-e "XDrawLin.*"
、どちらかです。実用的な例は大歓迎です。
- これが整理されたら、C++ lib シンボルをトレースする方法に移りたいのですが、mangled または demangled 形式を使用する必要がありますか?
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 がサンプル プログラムをトレースできるのに、なぜ失敗するのか、私にはよくわかりません。
誰もこの問題に直面しましたか? どんな助けでも大歓迎です。
どうもありがとう、サクティベル
mpi - mpi プログラムで ltrace を使用するには?
ltrace を使用して mpi アプリケーションのライブラリ関数呼び出しを取得する方法を知りたいのですが、単純に ltrace が機能せず、mpirun が成功しません。何か案が?