0
public class LineNum1 extends Thread{

    public synchronized void run()
         {
          try {
                Hello.main(null);
                System.out.println("Stack Trace of thread"+ this.currentThread().getName());
                System.out.println(this.currentThread().getStackTrace()[1].getLineNumber());
                System.out.println("End of Stack Trace");
               } catch (Exception e1) {
                    e1.printStackTrace();
               }
            }

     public static void main(String[] args) {

                LineNum1 t = new LineNum1();
                t.start();
            }
   }

私はコードカバレッジツールを開発しています。

上記のプログラムを使用して、ここからHello.javaを実行しています。Hello.javaを制御できる方法はありますか?

または、私の生活を簡単にするために、Hello.javaの実行された行(実行パス)の行番号を取得できますか?

4

3 に答える 3

2

Javaデバッグ・インターフェースを使用したい。デバッガーなどのJavaツールを作成するために使用されるのはJavaライブラリーです。これにより、プログラムをステップ実行したり、行番号などを照会したりすることができます。

トレースと呼ばれる簡単なデモアプリケーションがあり、すでに必要なことのほとんどを実行します。http: //docs.oracle.com/javase/1.5.0/docs/guide/jpda/trace.html

読む時間があれば、多くのドキュメントがあります:http: //docs.oracle.com/javase/1.5.0/docs/guide/jpda/index.html

于 2012-09-04T05:55:17.520 に答える
1

おそらく、2番目のJavaクラスをとして実行しProcess、出力を自分で読み取ることができます。

于 2012-09-04T04:46:39.007 に答える
0

コードカバレッジはまだ完全には完了していません。しかし、私はバイトコードインストルメンテーションを使用してメソッドをインストルメントしたので、アクセスしたすべてのメソッドのログを取得します。このJavassistTurtorialはあなたを助けるかもしれません。

于 2012-09-17T06:18:36.917 に答える