私はこのようなことをしたことも見たこともありませんが、興味深い問題のように思えます。私の考えでは、コマンドだけでなく、Java デバッガー (jdb)java
を使用してコードを実行することです。
(jdb のコマンドを使用して) 行ごとにコードをステップstep
実行でき、行が実行されるたびにその行番号が吐き出されます。これには PHP 側の助けが少し必要ですが (行番号を解析し、次のステップのコマンドを実行する必要があります)、行番号はそこにあります。以下は、非常に基本的な Java プログラムからのサンプル出力です。
Java (TestClass.java)
public class TestClass {
public static void main(String[] args) {
System.out.println("foo");
System.out.println("bar");
}
}
jdb (実行後のjdb TestClass javac TestClass.java
)
Initializing jdb ...
> stop at TestClass:3
Deferring breakpoint TestClass:3.
It will be set after the class is loaded.
> run
run TestClass
Set uncaught java.lang.Throwable
Set deferred uncaught java.lang.Throwable
>
VM Started: Set deferred breakpoint TestClass:3
Breakpoint hit: "thread=main", TestClass.main(), line=3 bci=0
3 System.out.println("foo");
main[1] step
> foo
Step completed: "thread=main", TestClass.main(), line=4 bci=8
4 System.out.println("bar");
main[1] step
> bar
Step completed: "thread=main", TestClass.main(), line=5 bci=16
5 }
main[1] step
>
The application exited