問題タブ [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 - Eclipse: インライン ブレークポイント
Eclipse IDE で (プラグインを使用して) インライン ブレークポイントを設定する方法はありますか?
たとえば、同じ行で複数のメソッドが呼び出された場合、行全体ではなく、その行の特定のメソッド呼び出しに対してブレークポイントを設定する方法はありますか?
(この例では、メソッドの定義にブレークポイントを設定することは可能baz
ですが、他のメソッドからも呼び出されると、ほとんどの場合続行する必要がある場合に面倒になる可能性があります。)
私がそれを正しく理解していれば、Java Debug Interface はこれを許可します。 Location#codeIndex()を参照してください。
java - Jboss で com.sun.jdi が見つからない
こんにちは、みなさん!Jboss EAP 7 の Sun.Jdi で ClassNotFound 例外が発生し続けます。これはHotswapAgentによって使用されるため、モジュール ローダーまたはその他の方法で com.sun.jdi を Jboss に追加する方法を知りたいです。
ありがとうございました。
java - 指定されたメソッドのすべての出口点の JDI の場所
私はJDI api (Java Debug Interface)を使用しており、特定のメソッドのコードの最初の行だけでなく、メソッドのすべての「終了ポイント」(つまり、すべての「リターン... ;")。
ブレークポイント リクエストを作成するには、Location
オブジェクト (つまり、実行可能コードへのポインターのようなもの)が必要です。
メソッドの最初の行の を取得するLocation
のは比較的簡単です:
Location
すべての「出口点」を取得することは、より問題があります。return
メソッドの本文の途中に複数のステートメントが含まれている可能性があるため、メソッドの最後の行を取得するだけでは不十分であり、それらもキャッチする必要があります。
を使用することを検討しましたMethodExitRequest
が、クラスの他のメソッドに関連しているため、必要のない大量のイベントが生成されます。(そのため、ジョブを実行できますが、実行時に大きなオーバーヘッドが発生します)。
Location
だから私の質問は:メソッドのすべての出口点を取得するにはどうすればよいですか?
編集
追加情報
私の特定のユース ケースでは、いくつかのメソッドに対してブレークポイント リクエストを作成する必要があります。関心のあるすべてのメソッドがすべてvoidを返すように見えるので、「return void」命令 (b1) をメソッドのバイトコードを取得し、バイトコード内の b1 のすべてのインデックスに基づいて Locations オブジェクトを作成します。