从代码(没有IDE)运行,调试和步入Groovy脚本是可能的吗?

时间:2018-02-02 00:02:54

标签: java debugging groovy

我正在探索使用Groovy作为我下一个项目的默认脚本语言。一些基本要求是:

  1. 加载并运行Groovy脚本,发送params并获得结果,我知道这可以使用GroovyShell或GroovyScriptEngine来完成。

  2. 能够以调试模式运行,踩到脚本的语句中(不需要管理断点,而是在代码中执行语句,并查看当前作用域中变量的值)。

  3. 是的,这就像一个小型IDE,但应该集成到管理并行运行许多脚本的应用程序中,并将一些脚本的输出发送到其他脚本的输入(管道和过滤器架构http://www.enterpriseintegrationpatterns.com/patterns/messaging/PipesAndFilters.html )。

    我不确定Groovy是否单独提供调试并进入groovy代码,或者应该使用Java Platform Debugger Architecture,或者是否应该通过将IDE嵌入到此系统中来实现(可能嵌入Eclipse组件) )。

    这些是我对使用Groovy的可能性的主要担忧/怀疑。任何指针都是受欢迎的。

1 个答案:

答案 0 :(得分:0)

简短的回答是"没有简单的方法在我知道的应用程序中嵌入调试功能"。请提供使用随附IDE的解决方法说明或对任何具有嵌入式脚本调试器功能的开源项目进行深入研究......并成为相关贡献开发人员的好朋友: - )。

更多信息:

使用开源软件时可以做任何事情。是的,您可以构建一个调试器来挂钩脚本的执行(假设您可以将进程/线程分开),步骤,在断点处创建/暂停,读取当前在内存中的变量等。

示例: SmartBear ReadyAPI SoapUI NG PRO v4.6 +(?)包含一些嵌入在" Groovy脚本中的基本调试"测试步骤编辑器窗格。 (免责声明:SmartBear可能已经使用其他语言或库来构建他们的调试器功能。我也不确定此功能何时/何时将进入SoapUI开源项目 - 调试显然被称为PRO(付费)功能。 )

<强>注意事项:

  1. 实现调试器功能是一项重要功能。您需要调试器开发经验(和/或更多时间)来构建与实际应用程序无关的功能。在继续之前,请确保您确实需要此嵌入式调试。

  2. 您应该从现有的开源groovy调试器开始嵌入您的应用程序......如果存在。 SmartBear SoapUI NG PRO将是一个开始......但PRO功能不是开源的。