問題タブ [jpda]
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 Debugging Plugin: JDT の IJavaObject から基になる Java オブジェクトにアクセスする
私の修士論文では、デバッグ中に変数を視覚化するための Eclipse プラグインを作成しています。IJavaObject、IJavaType、IJavaValue などに快適にアクセスできるように、カスタム「クローラー」の作成に多大な努力を払いました。問題は、メモリ内の実際の基になるオブジェクトを取得する可能性は見られず、IJavaObject ラッパーだけであるということです。
たとえば、java.awt.Color がある場合、IJavaObject を取得し、クローラーでメソッドを呼び出すことができます (JDT の不器用な sendMessage を介して)。したがって、単一の R、G、および B 値を照会し、独自の Color オブジェクトを作成して、色を直接表示することができます。しかし、java.awt.Image に関しては、たとえば、どこかに直接描画したいのですが、これはできません。IJavaObject とクローラーにアクセスでき、いくつかのメソッド (プリミティブ型をパラメーターとして受け入れるメソッドのみ) を呼び出し、プライベート フィールドをクエリすることもできますが、幅、高さ、または ImageObservers だけでなく、実際の Image オブジェクトが必要です。
要するに: IJavaObject の実際の基になるオブジェクトにアクセスする可能性はありますか?
前もって感謝します。
eclipse - Tomcat でのスプリング ベースの Web アプリのリモート デバッグ中にソースが見つからない
Eclipse でデバッグしたい Tomcat で実行されている Spring ベースの Web アプリケーションがあります。Tomcat をデバッグ モード (JPDA) で実行することができました。しかし、ソースが見つからないというエラーが発生しています。
以前にも同様の質問が寄せられたのを見たことがありますが、正確な答えを見つけることができませんでした。
Source not foundが発生するスタックトレースは
クラスSpringTestService
、SpringTestManager
、SpringTestAction
、SpringTestForm
およびSpringTestVO
は私が作成したものです。
Cglib2AopProxy$DynamicAdvisedInterceptor
Spring ライブラリにある のソースが見つかりません。
デバッグ構成の作成中に、必要なライブラリと JAR およびプロジェクトを「ソース フォルダー」に追加しました。
java - Java のホットスワップのデバッグがメソッド内の変更に限定されるのはなぜですか?
ホット デプロイ チュートリアルを実行しましたが、うまくいきました。しかし、制限について質問があります(ポイント3)つまり
ホット デプロイは、メソッド実装のみのコード変更をサポートしています。新しいクラスまたは新しいメソッドを追加した場合でも、再起動が必要です。
基本的に、既存のメソッドに変更を加えた場合にサーバーの再起動が必要ない理由は、メソッドまたはクラスを追加する場合に必要です。
それがどのように機能するかについての私の理解:-既存のメソッドに変更を加えるか、新しいメソッドを導入すると、Eclipse はファイルを webserver の下の正しい場所に配置します。クラスがクラスローダによって perm gen 空間にすでにロードされている場合、permgen 空間からアンロードし、サーバーを再起動せずに内部で新しいものをロードして、新しい変更 (バイトコード) が反映されるようにします。あれは正しいですか ?
はいの場合、新しいメソッドと新しいクラス ファイルに対してホット デプロイメントが機能しないのはなぜですか?