問題タブ [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 に答える
5390 参照

c++ - ltrace: "library.so" に .dynsym または .dynstr が見つかりませんでした

ltrace を使用しようとしました。次のコマンドを使用して、プログラムsampleappで使用される library.so ファイルのプロファイルを作成しようとしましたltrace -c -T --library=library.so --output=out.txt ./SampleApp。しかし、上記のエラーが表示されます。ただし、library.so はデバッグ ビルドです。したがって、シンボルテーブルがそこにあるはずです。で検証してみましたobjdump --source library.so | grep CreateSocket()。その CreateSocket() 関数を使用するコードを返します。つまり、シンボル テーブルが含まれています。なぜそのエラーが発生するのですか?

関連記事:動的にリンクされたライブラリの 1 秒あたりの CPU 使用率を測定する

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

arm - armv7 でファイルが「ELF 32 ビット LSB 共有オブジェクト」を検出する実行可能ファイルの「ELF ファイルではありません」で ltrace が終了する

私は armv7-a に取り組んでおり、buildroot 経由でインストールされた ltrace を使用しようとしています。

アップストリームはarmv7 をサポートしていますが、次のように述べています。

次のターゲットは、現在 (少なくともある程度) サポートされています。それらのいくつかは、実際には多かれ少なかれ壊れている可能性があります

うまくいきましたか?

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

linux - 実稼働 Linux システム (RH/CentOS および Debian/Ubuntu) でのシステム レベル トレースの状態はどうなっていますか?

私は社内のクラウド インフラストラクチャ (OpenStack) の開発を支援して、AWS/Rackspace/SoftLayer/etc に代わる完全なオンプレミスの代替手段を部門に提供しています。

私の上司は、 DTraceのサポートを依頼している社内顧客からの質問を私に伝えました。私は、Oracle DTrace Projectdtrace4linuxおよび Linux 独自のネイティブSystemTap (最初は Linux kprobes上に構築されたことを思い出します 3.5 カーネル)。SysdigLTTng、さらにはfulltraceについても聞いたことがあります (Linux カーネルftraceuprobesサポートの違いは何ですか?)

私の最初の応答は、このユーザーがltraceを効果的に使用しようとしたかどうかを尋ねることでした。これは、-Sシステム コール トレースをインターリーブするオプションです ( strace 風)。

しかし、お客様が戻ってくる前にもっと知りたいです。

私の最初の最も重要な質問は、これらのさまざまなオプションの中で、CentOS 6、6.5、および 7.0 で「すぐに」(ストック カーネルを交換せずに) 使用できるものはどれかということです。Ubuntu 12.04 および 14.04 LTS リリースについても同じ質問ですか?

これらのうち、クラウド VM インスタンス (OpenStack Nova、KVM) 内からの使用に特に適している、または特に適していないものはありますか?

これらのオプションの合理的に適切で最近の比較はありますか? それらのそれぞれに関連する時間と労力の投資に対する私の最善の策は何ですか?

Niels Provos のSystraceに関する作業に何が起こったのか

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

linux - ltrace : プログラムからライブラリへの直接呼び出しのみを表示し、ライブラリ間呼び出しは表示しません

実行するプログラム以外の引数なしで呼び出された場合、ltrace は、プログラムによって共有ライブラリに対して行われた呼び出しのみを表示し、ライブラリ間の呼び出しは表示しないようです。

呼び出しが行われるライブラリを選択して、これらの結果をフィルタリングしたいと思います。この-lオプションはライブラリをフィルタリングしますが、ライブラリ間の呼び出しも表示されます。追加-e '@my_programしても違いはありません。

ltraceマニュアル ページには、プログラムを-Dsymbolic.

プログラムを再コンパイルせずにライブラリ間の呼び出しを取り除く方法はありますか?

ありがとう

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

c++ - Best way to replay all calls to a shared object?

I maintain a shared object written in c/c++. I would like to be able to log all calls to the library's methods in order to replay the same sequence of method calls for debug and testing.

I can use ltrace to record all calls to the library but am looking to some tools or library to help replay the trace. I basically just need to parse the trace and call the same functions with the same inputs and do some special handling for the pointers. Here is an example of the trace info after some filtering:

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

android - Android 用の ltrace をビルドする

Android用のltraceを構築しようとしています。私はこれらのコマンドに従いました:

その後:

しかし、私はこのエラーを受け取りました:

私も試しました:

そして受け取った:

Androidビルドのltraceで同様/同じ問題が見つかりました が、誰も返信しておらず、数か月前だったので、もう一度質問しました。問題ないことを願っています。Android用のltraceを構築できるように、誰かがこの問題または別の方法で私を助けることができますか? ありがとうございました。

0 投票する
2 に答える
4961 参照

linux - ltrace の実行時に出力がありません

タイトルが示すように、私のシステムでは ltrace が正しく動作しません。次のように、ほとんどの場合、出力は表示されません

私は最新の ltrace バージョン(パッケージから0.7.3-5.1ubuntu4)を使用しています。ソースから再コンパイルしても違いはありませんでした。私は Ubuntu 16.10、カーネルを使用しています4.8.0-42-generic。gccバージョンは6.2.0

奇妙なことに、インターネットからダウンロードしたバイナリは機能しているようで、ライブラリの呼び出しが正しく表示されます。

私は何が欠けていますか?誰でも問題を再現できますか?