【问题标题】:Setting up a Proxy QScriptEngineAgent for script monitoring为脚本监控设置代理 QScriptEngineAgent
【发布时间】:2013-06-11 16:15:20
【问题描述】:

我正在使用 QScriptEngine 和 QScriptEngineDebugger,我正在阅读 QScriptEngine 的文档,我看到了以下内容:

void QScriptEngineDebugger::attachTo (QScriptEngine * engine) 附加到给定的引擎。调试器将安装自定义代理 (使用 QScriptEngine::setAgent())来监控引擎。虽然 已附加调试器,您不应更改代理;但是,如果你 确实必须执行额外的监控,你必须设置一个委托代理 将所有事件转发给调试器的代理。”

所以我想做的实际上是使用调试器监控我的脚本的执行,但我想了解更多信息。

是否有适用于该主题的示例?我找不到所谓的“代理代理”的任何示例,我不知道如何启动/设置它。

在此先感谢,欢迎任何形式的帮助:O

【问题讨论】:

  • 如果您的脚本抛出错误,还有一个选项可以自动启动调试器。

标签: c++ qt proxy qtscript


【解决方案1】:

使用debugger.standardWindow()->show() 显示调试器的GUI:

QScriptEngine engine;
QScriptEngineDebugger debugger;
debugger.attachTo(&engine);
debugger.standardWindow()->show();
engine.evaluate(QScriptProgram("a = 0; \nb = 0; \nc = a + d;"));

【讨论】:

  • 您好,感谢您的回复。我可以成功地将调试器附加到我的 ScriptEngine,问题是当我尝试调试脚本并获取在导入的扩展中定义的函数时,我只得到行号而不是正在评估的脚本文本。所以这就是为什么我专注于 QScriptDebugger 设置的自定义 QScriptAgent 以获取省略的脚本文本。
猜你喜欢
  • 1970-01-01
  • 2017-03-21
  • 1970-01-01
  • 1970-01-01
  • 2011-08-14
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2014-09-27
相关资源
最近更新 更多