详细说明
QScriptEngineDebugger类提供了QScriptEngine调试器。
QScriptEngineDebugger类提供了一个调试器,该调试器可以嵌入使用Qt脚本的Qt应用程序中。调试器使应用程序用户可以检查脚本环境的状态并控制脚本的执行。
要将调试器附加到脚本引擎,请调用attachTo()函数。
QScriptEngine engine;
QScriptEngineDebugger debugger;
debugger.attachTo(&engine);
将调试器附加到脚本引擎后,您就可以像往常一样继续评估脚本,例如通过调用QScriptEngine :: evaluate()。当发生未捕获的异常或脚本中遇到调试器语句时,将触发调试器。通过触发InterruptAction,还可以在任意时间中断脚本评估。例如,要在脚本评估开始时启动调试器,请在开始评估脚本之前触发动作。
debugger->action(QScriptEngineDebugger::InterruptAction)->trigger();
engine->evaluate(contents, fileName);
QAction *QScriptEngineDebugger::action(QScriptEngineDebugger::DebuggerAction action) const
返回指向指定动作的指针。 可用的动作由DebuggerAction枚举给出。
使用此功能,可以将操作添加到自己的小部件,工具栏和菜单中。 例如,如果您希望使用自己的groovy图标为事情增添趣味,这也很方便。 下面的代码示例显示了如何向QToolBar添加动作。
QAction *continueAction = debugger->action(QScriptEngineDebugger::ContinueAction);
QAction *stepOverAction = debugger->action(QScriptEngineDebugger::StepOverAction);
QAction *stepIntoAction = debugger->action(QScriptEngineDebugger::StepIntoAction);
QToolBar *toolBar = new QToolBar;
toolBar->addAction(continueAction);