我不小心在 GroovyConsole 中运行了一个带有无限循环的脚本。:-\
为了墨菲定律,我在 3 或 4 小时内没有保存我的工作。所以,在杀死 GroovyConsole 进程之前,我已经转储了堆,希望找到此时正在运行的脚本的字符串版本
您是否有提示它可以隐藏在哪个类中,或者是否有可能?
我不小心在 GroovyConsole 中运行了一个带有无限循环的脚本。:-\
为了墨菲定律,我在 3 或 4 小时内没有保存我的工作。所以,在杀死 GroovyConsole 进程之前,我已经转储了堆,希望找到此时正在运行的脚本的字符串版本
您是否有提示它可以隐藏在哪个类中,或者是否有可能?
所以,碰巧我的猜测是对的。对象保留脚本更改的groovy.ui.Console
历史记录。我为您提供了 OQL 查询,该查询将我的脚本还给了我,这是我最大的荣幸。我使用 OQL 插件在 VisualVM 中运行它,但我可以使用 jhat :
select x.history.elementData[x.history.elementData.length-2].allText.toString() from groovy.ui.Console x
曾经丢失过代码的绝望的 groovy 开发人员现在可能会被释放 :-) 当然我是
脚本的字符串版本可能存在于另一个对象中。我很想听听其他解决方案