主线程检查器dylib注射

时间:2017-10-07 18:37:14

标签: xcode9 dylib

根据Apple Developer Documentation Main Thread Checker,可以在运行时将libMainThreadChecker.dylib注入到应用程序中,以便使用主线程检查器工具。如何在不使用Xcode中的诊断设置之前(如果可能)或在运行时注入此dylib?我试过在GitHub上使用osxinj和yololib项目注射没有运气。

2 个答案:

答案 0 :(得分:3)

您可以通过多种方式执行此操作:最简单的方法可能是将DYLD_INSERT_LIBRARIES环境变量设置为/Applications/Xcode.app/Contents/Developer/usr/lib/libMainThreadChecker.dylib。 (您可以从“方案”编辑器的“参数”标签中执行此操作。)

另一种方法是将其动态加载到代码中。只需在应用的启动路径的开头放置dlopen("/Applications/Xcode.app/Contents/Developer/usr/lib/libMainThreadChecker.dylib", RTLD_LAZY)之类的内容即可。

您还可以直接链接到库,但这会将库硬编码到您的应用程序中,对于那些主要用于调试的东西,我不建议这样做。

答案 1 :(得分:2)

点击停止按钮旁边的项目名称 - >编辑方案。在诊断程序下,可以选择启用/禁用它

enter image description here