CydiaSubstrate 故障诊断

今天有个项目出了点问题,关于基于 MobileSubstrate(现在叫 Cydia Substrate 了)的 tweak 的问题。

其实本来问题不大的,主要有几个技巧可以记录一下。

  • Hook 的日志打印

这个算是个小技巧吧,来自于半仙,是一个 MS 的调试模式。

1
2
3
4

extern bool MSDebug

MSDebug = true

这个模式作用是专门用来查看一些细节的,比如 MSHookFunction 函数,会打印被 hook 的函数的前 16 字节和被 hook 之后的 10 字节,可以辅助判断这个 hook 的 hook 细节。

  • MSHookFunction 函数 old 为 nil

这个原因很简单,函数定义定义不对…..= =|||