0

GroovyConsoleで誤って無限ループのスクリプトを実行しました。:-\

マーフィーの法則のために、私は3〜4時間の間自分の仕事を保存していません。したがって、GroovyConsoleプロセスを強制終了する前に、この時点で実行されていたスクリプトの文字列バージョンを見つけることを期待して、ヒープをダンプしました。

どのクラスを非表示にできるか、または可能かどうかのヒントはありますか?

4

1 に答える 1

2

だから、私の推測は正しかったことが起こります。groovy.ui.Consoleオブジェクトは、スクリプトの変更の履歴を保持します。私の最大の喜びのために私のスクリプトを返してくれたOQLクエリを提供します。OQLプラグインを使用してVisualVMで実行しましたが、jhatを使用することもできます。

select x.history.elementData[x.history.elementData.length-2].allText.toString() from groovy.ui.Console x

一度コードを失った絶望したグルーヴィーな開発者は、今すぐ再脱退するかもしれません:-)確かに私は

スクリプトの文字列バージョンが別のオブジェクトに存在する可能性があります。他の解決策を聞きたい

于 2011-06-21T17:09:07.960 に答える