在堆转储中查找GroovyConsole脚本的字符串版本
我意外地在GroovyConsole中运行了一个带有无限循环的脚本:-\ 看在墨菲定律的份上,我没有在三四个小时内保存我的工作。因此,在终止GroovyConsole进程之前,我已经转储了堆,希望找到此时正在运行的脚本的字符串版本在堆转储中查找GroovyConsole脚本的字符串版本,groovy,heap-dump,oql,groovy-console,Groovy,Heap Dump,Oql,Groovy Console,我意外地在GroovyConsole中运行了一个带有无限循环的脚本:-\ 看在墨菲定律的份上,我没有在三四个小时内保存我的工作。因此,在终止GroovyConsole进程之前,我已经转储了堆,希望找到此时正在运行的脚本的字符串版本 你有没有提示它可以隐藏在哪个类中,或者如果可能的话?所以,我的猜测是对的。groovy.ui.Console对象保存脚本更改的历史记录。我给你的OQL查询,给了我的脚本回来,我最大的乐趣。我用VisualVM和OQL插件运行了它,但我可以使用jhat: select
你有没有提示它可以隐藏在哪个类中,或者如果可能的话?所以,我的猜测是对的。
groovy.ui.Console
对象保存脚本更改的历史记录。我给你的OQL查询,给了我的脚本回来,我最大的乐趣。我用VisualVM和OQL插件运行了它,但我可以使用jhat:
select x.history.elementData[x.history.elementData.length-2].allText.toString() from groovy.ui.Console x
曾经丢失代码的绝望的groovy开发人员现在可能会被释放:-)我当然是
脚本的字符串版本可能存在于另一个对象中。我很想听听其他解决方案为什么不直接复制粘贴groovy控制台的文本?如果有人能帮上忙,我会印象深刻,但我不能(对不起,祝你好运)。