实现一个 JavaScriptCore 的 debugger —— iOS 篇

  1. 云栖社区>
  2. 淘系技术>
  3. 博客>
  4. 正文

实现一个 JavaScriptCore 的 debugger —— iOS 篇

技术小能手 2018-02-08 16:28:24 浏览2872
展开阅读全文

JSC 的 debugger 是个神奇的东西,在网上资料甚少,几乎完全搜索不到,尤其是 iOS 上,OC 接口没有暴露任何 debugger 信息。

不过好在 JSC 是开源的,通过分析源代码可以找到 JSC::Debugger 这个抽象类,我们继承这个抽象类,然后实现掉虚函数,创建实例并且把它挂载到 global object 即可开启 debug 能力了。

思路是简单的,在 iOS 设备上,我们要面临的另一个问题是它的 JavaScriptCore 本身是以 Framework 的形式而非源代码形式提供的,所以我们只有公开的 OC 头文件和静态库文件。

所以要想使用 debugger,我们需要:

1 编译时使用私有的头文件
确保头文件的版本跟 framework 一致
确保编译选项跟 framework 一致
2 链接时链接 fra

网友评论

登录后评论
0/500
评论
技术小能手
+ 关注
所属云栖号: 淘系技术