2016-06-01 3 views
0

IntelliJのようなIDEでは、ブレークポイントで実行を停止し、スニペットビューを使用して任意のコードを実行できます。JDBセッションでカスタムコードを実行する方法は?

プロセスに接続されたコマンドラインデバッガJDBを使用する場合も同じことができますか?

IntelliJは、JVMで公開されているいくつかの機能を使用して任意のコードを実行できると考えています。したがって、それはコマンドラインデバッガにも存在するはずです。

答えて

0

あなたはそれを行うには "evalの" コマンドを使用することができます。

クラス主のために:

public class Main { 
    public static void main(String [] arg) { 
     int a = 1; 
     int b = 3; 
     System.out.println("a+b=" + (a+b)); 
    } 
} 

あなたが道(-gでコンパイルすることを確認し、次のJDB内のコードを評価することができます。javac - g Main.java)

VM Started: Set deferred breakpoint Main.main 

Breakpoint hit: "thread=main", Main.main(), line=5 bci=0 
5   int a = 1; 

main[1] step 
> 
Step completed: "thread=main", Main.main(), line=6 bci=2 
6   int b = 3; 
main[1] eval a+1 
a+1 = 2 
main[1] eval java.lang.System.out.println("Hello: " + a); 
Hello: 1 
java.lang.System.out.println("Hello: " + a); = <void value> 
関連する問題