2013-03-02 9 views
6

混在モードのデバッグをサポートするIDEまたはEclipseプラグインがあるかどうかを知りたいと思います。私は混在モードという言葉を検索したので、VM言語とネイティブコードのデバッグに関する多くの参照が見つかりました。バイトコードによるJavaデバッグ

しかし、私はC言語のようなコンパイルされた言語で利用できるものに類似した機能を指しています。この場合、ユーザーは対応するアセンブリラインの横にあるCソースラインと、アセンブリレベルでさえ。 Javaのデバッグ中に、私は次の機能を探していますつまり

を(私は混合モードとして機能を呼び出すことによって命名ミスを犯していたなら言い訳してください):Javaソースコードへ

  1. 能力とプログラム実行中のバイトコードに対応するJVMのPCレジスタを参照するに
  2. 能力及びオペランド
(例えば定数プールの)他のJVMの特定のデータ構造を表示する
  • 能力をスタック

    これは、Javaソースコードがバイトコードにどのようにマップされているか、さまざまなJVM関連データ構造がどのように影響を受けるかを理解するためのものです。

  • +0

    Javaソースコードのバイトコードへのマッピング方法を理解するためにデバッガは必要ありません。ちょうど 'javap'を使用してください。 –

    +0

    良い質問です! gdbデバッガまたはMSVSデバッガのいずれかを使用すると、アセンブラレベルと高水準言語レベルでデバッグできます。 Java IDEと似たようなことをする方法があれば、私は不思議に思います。ここではいくつかの提案があります:[EclipseでコンパイルされたJavaをデバッグする方法](http://stackoverflow.com/questions/1905446/how-to-debug-compiled-java-code-in-eclipse)、[ Javaのデバッガ/ディスアセンブラ?](http://stackoverflow.com/questions/2539614/is-there-a-disassembler-debugger-for-java-ala-ollydbg-softice-for-assembler) – paulsm4

    +0

    それは単なる問題ではないのIDEとプラグイン。このような機能には、JVM自体からの親密なサポートが必要です。カスタムJVM実装を使用する方法もあります。 – Antimony

    答えて

    0

    コンパイルされたネイティブコードへのJavaコードのマッピング方法を理解するためにデバッガは必要ありません。 -XX:+PrintCompilation JVMフラグを使用できます。それに関するモード情報はStephen Colebourne's blog postで、詳細はKris Mok reply to that postを参照してください。

    HotSpot Internals Wikiが役に立つ場合もあります。

    +1

    私はOPが、ネイティブコードではなく、バイトコードのレベルでデバッグしたいと考えています。 – Antimony

    +0

    私は、Javaソースコードがバイトコードにどのようにマップされているか、さまざまなJVMに関連するデータ構造がどのように影響を受けているか理解したいと思っていました。 –

    1

    私はDSL開発者であり、この同じ問題に何度も遭遇しています。

    唯一のツールは、Dr. Garbageツールです。

    現時点では、それらは最も良く維持されているようには見えませんが、適切なバージョンのEclipseで動作します。

    関連する問題