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

曾经丢失过代码的绝望的 groovy 开发人员现在可能会被释放 :-) 当然我是

脚本的字符串版本可能存在于另一个对象中。我很想听听其他解决方案

于 2011-06-21T17:09:07.960 回答