問題タブ [jdi]
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 - Javaデバッグインターフェイス:コード内の任意の場所にブレークポイントを配置します
私は JavaDebugInterface APIを使用して、作成したJavaアプリケーションをデバッグするためのカスタムプログラムを作成しています。次のコードを使用して、必要なメソッド呼び出しの開始にブレークポイントを追加できます。
ただし、ソースファイル内の任意の場所のLocationオブジェクトを取得する方法を理解できません。
java - JDI: デバッガーのように Java アプリケーション (JVM) を一時停止する方法
実行中の任意の時点で JVM を一時停止する可能性のある JDI API を探しています。BreakPointRequest createBreakpointRequest メソッドを見ると、特定の場所が必要です。ブレークポイントを作成するために渡すことができる現在の場所を取得するために、場所を必要としない、または何らかの形で他の API はありますか。
私は基本的に、アプリケーションをアタッチして一時停止し、JVMTI エージェントを使用して BreakPoint イベントのコールバックを受け取り、さらに処理を実行する方法を探しています。ありがとう
java - com.sun.jdi.VirtualMachine をインポートして使用する方法
VirtualMachinecom.sun.jdi
のようなパッケージでデバッグ用に設計されたいくつかのクラスを見つけましたが、パッケージが Sun JDK7 に存在しないように見えるため、これを使用できません。
このパッケージの使い方
ところで。lib/sa-jdi.jar
私が望むものと同じではない
eclipse - JDIイベントディスパッチnullpointerexception
デバイスでデバッグしようとすると、エラーが発生し、デバッガーがブレークポイントで停止しないことがあります。また、アプリケーションは正しく起動せず、アプリのアイコンと名前が上部に表示された黒い画面でフリーズします。
エラーは、「'JDIイベントディスパッチ'で問題が発生しました。'JDIイベントディスパッチ'中に内部エラーが発生しました。」というタイトルのEclipseのポップアップです。[OK]と[詳細]ボタンがあります。後者を押すと、次の詳細が表示されます。「「JDIイベントディスパッチ」中に内部エラーが発生しました。java.lang.NullPointerException」
私はEclipseJavaEEHeliosServiceリリース2で作業しています。
linux - クラスパスを変更して VM を起動する
まず、Linux で作業しています :) JDI を使用して VM を起動しようとしています。コネクタの引数を変更する必要があります。コネクタは Bootstrap.virtualMachineManager() からの LaunchingConnector コネクタです。コードは次のようなものです。
JUnitコアを探すようにクラスパスを変更しようとしています。新しいクラスパスは「../../lib/junit-4.6.jar」で、クラスは「org.junit.runner. JUnitCore」
走ってみると
次のようなコマンドを実行しようとするため、VMStartException がスローされます。
クラスパスを変更しておらず、最終的には vm を返しません。誰かがこれを変更する方法を教えてもらえますか? また、コマンドから -Xdebug を取り出し、ポート番号を変更したいと思います。
ありがとう
java - Java の DebuggerStepThrough に相当するもの
.NET には、デバッガーに特定のメソッドをステップスルーまたはステップオーバーするように指示する便利な注釈がいくつかあります。Java プラットフォームで動作する同等のものがあるかどうかを知りたいです。
例えば:
ステップ実行時にデバッガが停止しないfoo
原因となります。
私が試したこと
- クラスファイルで SYNTHETIC フラグを使用します。これにより、javac はそのようなメソッドを呼び出すユーザー コードを禁止します。
- カスタム属性。注釈を取得するためのJDI APIはありません。このフォーラムでも言及されています。
PS。デバッガーを実装しており、出力されるバイトコードを制御しています
java - jpdaを使用してweblogicに接続する
Weblogic 10(java 6)にデプロイされたJavaEEアプリケーションでメソッド呼び出しをプロファイリング/トレースするためのユーティリティ/ツールを構築しています。その目的は、巨大なエンタープライズアプリケーションのイベントの流れをすばやく理解することです。(コードを確認するのは面倒です)
jdk6にバンドルされている「Trace」デモアプリケーションに従って、バージョンをビルドしました。通常のデスクトップスタイルのアプリケーションに接続し、メソッド呼び出しを正常にトレースしている間、アプリケーションは正常に動作します。ただし、Weblogicの場合、EventQueue.removeはnullのEventSetを返します。weblogicVMへの接続が成功することに注意してください。ただし、接続されるとすぐに、デプロイされたWebアプリケーションでクリックまたはアクティビティが発生すると、ターゲットVMのスレッドがハングし、最終的にhttpリクエストがタイムアウトします。
weblogicの開始スクリプトに次のvm引数を使用しています。
使用されているサンプルコードは、jdk1.6.0_13 \ demo \ jpda \ examples \ com \ sun \ tools \ example\traceからのものです。
誰かが同様のツールの経験があるか、または同様の問題に直面しましたか?Eclipseのリモートデバッグはどのように実装されているのだろうか。
ありがとう!
java - リモート/ローカルJavaアプリケーションをデバッグするためのカスタムデバッガー
Javaプログラムを使用してリモートJavaアプリケーションをデバッグしたいのですが(プログラムでEclipse APIを使用してもかまいません)、EclipseGUIを使用してデバッグしたくありません。
任意の提案/ヘルプは大歓迎です。
前もって感謝します!!
java - JDI トレースの例を実行できません: エラー: メイン クラスが見つからないか、読み込めませんでした
サンプルアプリとして次のプログラムをコマンドラインで実行します。
java -cp "D:\projects\PDFJavaFX\lib\PDFRenderer-0.9.1.jar" com/sun/pdfview/PDFViewer
java -cp "C:\Program Files\Java\jdk1.7.0_13\lib\tools.jar;D:\projects\JDI_Trace\jar\trace.jar; D:\projects\PDFJavaFX\lib\PDFRenderer-0.9.1 .jar "com/sun/tools/example/trace/Trace com/sun/pdfview/PDFViewer
次のエラーが表示されます。
サンプル アプリは正しく実行され、クラスパスに含まれています。これの原因は何ですか?私は何が欠けていますか?
ありがとう