2012-05-01 7 views
1

最初は複数のプロセスを起動するプロジェクトをすべてJavaでデバッグする必要があります。複数のプロセスでデバッグ

私の問題は、そのようなコードをデバッグすることは非常に面倒です。デバッグセッションが終了するたびに、他のすべてのプロセスがメモリにスタックされ、それらをすべて終了することは非常に面倒です(プロセス名を持たず、すべて「java」です)。

すべての殺人を自動的に行うことはできますか? または他のソリューションですか?

+1

どのプラットフォーム/ IDEを使用していますか? – Attila

+0

私はMacでNetbeansを使用しています。 – MBZ

+0

すべてのプロセスを1つのJVMで実行できますか?例えばそれらのすべてを呼び出すために1つのメイン()? –

答えて

0

方法がないようです!

0

サブプロセスを強制終了するには、process.destroyに電話する必要があります。アプリケーションのシャットダウンフックを作成し、このコールをアプリケーションに追加することができます。

これはデバッガで動作するかどうかをテストする必要がありますが、それでもアプリケーションを正常にシャットダウンすることができます。ここで

は一例です:

// start a sub process 
final Process childProcess = new ProcessBuilder("some command").start(); 


// add a shutdown hook which will be invoked when the JVM is shutting down 
Runtime.getRuntime().addShutdownHook(new Thread() { 
    @Override 
    public void run() { 
     childProcess.destroy(); 
    } 
}); 
+0

tnxですが、デバッグセッションを停止するとシャットダウンフックが呼び出されるのでしょうか? – MBZ

+0

日食ではありません。 See:https://bugs.eclipse.org/bugs/show_bug.cgi?id=38016。あなたはNetbeansでそれをテストする必要があります。 – dogbane

+0

Netbeansではどちらもありません。ちょうどテスト! – MBZ

関連する問題