問題タブ [jprobe]
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.
java - Eclipse 用の jProbe プラグインのインストール
現在、アプリケーションのパフォーマンスとメモリの分析を行っています。この分析を実行するために jProbe 9.5 を使用しています。Eclipse 用の jprobe プラグインをインストールする手順を教えてください。この [link] JProbe Plugin For Eclipse 3.7も参照しましたが、提供されたリンクではプロセスが明確に説明されていません。
これに関するヘルプは大歓迎です。ありがとう
java - Jprobe プロファイリング Java アプリケーション
jprobe を使用して Java アプリケーションのプロファイルを作成しています。プロファイルしようとしている Java アプリケーションは、Eclipse ベースのアプリケーションです。アプリケーションがさまざまな機能を提供するために、複数のプロジェクトを作成しました。アプリケーションをビルドすると、アプリケーションは製品としてエクスポートされ、.exe ファイルを受け取ります。jprobe を使用して .exe ファイルをプロファイリングする方法を知りたいです。ヘルプ ドキュメントから、jar ファイルがアプリケーションのプロファイリングに使用されることがわかりました。ただし、この場合、アプリケーションは exe ファイルです。
これに関するヘルプは大歓迎です。
c - Ubuntu 14 で「do_execve」への Jprobe が機能しないが、Ubuntu 12 では機能する
Jprobes を使用して Linux カーネルで関数 'do_execve()' へのフックを実行しようとしていますが、特定のシステムで問題が発生しています。Ubuntu 12、64ビット(カーネルバージョン3.11)でオンラインで見つけたこのコードを使用してみました:
Hook.c:
メイクファイル:
モジュールは期待どおりに機能しました。最初にシステム上で正しくコンパイルされ、次に関数「insmod」で挿入されました (ROOT 権限で)。dmesg を実行すると、正しい出力が表示されます。
この問題は、Ubuntu 14、64 ビット (カーネル バージョン 3.13) システムで同じコードを試したときに発生しました。システムで再コンパイルして、以前のシステムで行ったのと同じように挿入しましたが、今回は機能しませんでした。エラーは発生せず、成功メッセージ (「Planted jprobe at [ADDRESS WAS HERE], handler addr [ADDRESS WAS HERE]」) が出力されますが、「do_execve」行は出力されません。Google をスキャンしましたが、説明や解決策が見つかりませんでした。何か案は?
注: Ubuntu 14 で「do_fork()」をフックしてみましたが、うまくいきました。これは「do_execve()」を使ったもので、何が何だかわかりません!
linux - jprobe do_execve がカーネル 4.1 で動作しない
do_execve に jprobe フックを設定して、実行されたすべてのプログラムをキャッチしたいと考えています。
私のコードは <= 3.2 Linux カーネル (debian) で動作しています。これは、Linux カーネル 3.2 での私の出力です。
4.1カーネルでは同じ結果(すべてが登録されています)ですが、「execve」はありません:
そして、これは私のコードです:
kallsyms で grep を実行すると、3.2 になります。
そして4.2で:
関数を次のように変更しようとしました (do_execve プロトタイプが変更されたため)。
それでも役に立ちませんでした。
do_fork や sys_open などの他の関数にはフックを設定できますが、do_execve には設定できません。なんで?誰にもアイデアがありますか?なぜ機能しなくなったのですか?
編集:
do_execveat もフックしています。
linux - 一部の関数で kprobe が機能しない
handle_pte_fault
Linux カーネルで関数呼び出しを追跡するために kprobe を使用しようとしています。プローブできますhandle_mm_fault
が、プローブしようとするとhandle_pte_dault
、kprobe のハンドラはhandle_pte_fault
何も出力しません。
これを使用して、インラインであり、おそらく静的な関数をプローブできないことがわかりました。そこで、handle_pte_fault
関数の定義を次のように変更し、カーネルを再コンパイルしました。
から:
に:
handle_pte_fault
また、シンボルが存在することを確認するために以下を追加しました
それでも、handle_pte_fault 関数を追跡/調査することはできません。任意のヘルプまたは説明。kprobe は一部のランダム関数でしか機能しないということですか?
カーネル v4.13 を使用しています。
以下は、私が使用している kprobe のカーネル モジュール コードです。