我意外地在GroovyConsole中运行了一个带有无限循环的脚本。:-\
为了墨菲定律,我没有在三四个小时内节省我的工作。因此,在杀死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开发人员现在可能会重新保存:-)当然我是
脚本的字符串版本可能存在于另一个对象中。我很想听到其他解决方案