我试图学习如何使用V8中的Debug对象来调试嵌入式javascript C++应用程序中的javascript。如何在嵌入式V8中调试JavaScript?
我拨打了v8::Debug::SetDebugEventListener
并设置了回拨。然后我打电话v8::Debug::GetDebugContext
得到一个调试上下文,然后运行是这样的:Debug.scripts()
如果我打印由C是调用的结果++,我得到:
[{}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}]
我真正想要做的是设置脚本中给定行号的断点,但无法获得最基本的工作。
我得到了回调到我的调试事件监听器,但回调输入参数(非用户提供的)数据对我来说也没有任何意义。
{script_: {context_: {data_: undefined, handle_: 0, type_: "context"}, handle_: 1, script_: {}, type_: "script"}, type_: 4}
{break_id: 2, selected_frame: 0}
谢谢。
有一件事我不知道什么时候发布了这个消息,其中存储了一堆有关v8 :: Script的信息在v8 :: UnboundScript中,即使你没有明确地使用v8 :: ScriptCompiler首先创建一个脚本,也可以从具有'v8 :: Script :: GetUnboundScript()'的脚本获得它。 – xaxxon
你有没有找到答案? –
@Qwertman我用我学到的东西给自己一个答案。在v8中调试javascript似乎非常困难,而且极其糟糕(甚至对于v8)。 – xaxxon