Reveal的LLDB集成方式

在上一篇文章中,我介绍了用framework的方式去配置Reveal,但是这种方式很繁琐,因为每分析一个工程你都得去添加一次Reveal的framework 并且配置一次Other Linker Flags

而且等你打包测试或者打包上架的时候你还要把Reveal的framework给剔出来。这里给大家分享一种新的方式来玩转Reveal集成->LLDB方式,这种方式就可以避免上面的问题。LLDB集成听上去挺 Heigher-Bigger的,其实是很简单的两步:配置路径、设置命令。

一、配置路径

先启动你的Reveal,要配置路径,首先你得找到Reveal的路径,主要就是Reveal中libReveal.dylib包的路径。先找到你下载安装的Reveal,右键->显示包内容

在打开的路径中展开Contents文件,找到libReveal.dylib目标文件,然后右键->显示简介就可以得到目标文件的路径

这里我得到的路径是 /Users/apple/Downloads/Reveal.app/Contents/SharedSupport/iOS-Libraries/libReveal.dylib,保存该路径备用。然后创建一个新的Xcode工程 LLDBSetReveal.xcodeproj,随便添加点什么内容在程序中(显示效果)。启动Xcode工程,等Xcode正常启动后再暂停工程进入LLDB模式

输入第一行命令 : expr (Class)NSClassFromString(@"IBARevealLoader") == nil ? (void*)dlopen("/Users/apple/Downloads/Reveal.app/Contents/SharedSupport/iOS-Libraries/libReveal.dylib",
0x2) : ((void *)0),等有响应的时候再输入第二条命令 expr (void)[(NSNotificationCenter*)[[NSNotificationCenter defaultCenter] postNotificationName:@"IBARevealRequestStart" object:nil];

输入命令完毕后出现 INFO: Reveal Server started (Protocol Version 25). 就是配置成功了

二、设置命令

如果每次都要输入这两条命令的话更繁琐了,要解决这个问题我们就得在.lldbinit里面设置别名了。打开终端键入 touch ~/.lldbinit命令回车,然后键入open ~/.lldbinit命令回车,在新建的文本编辑器中输入之前的两步命令:红色的是命令格式,蓝色标注的是命令别名,其余的就是上面步骤中的两条命令

command aliaslwq_reveal_load expr (Class)NSClassFromString(@"IBARevealLoader")
== nil ? (void *)dlopen("/Users/apple/Downloads/Reveal.app/Contents/SharedSupport/iOS-Libraries/libReveal.dylib", 0x2) : ((void*)0)

command alias lwq_reveal_start expr
(void)[(NSNotificationCenter*)[NSNotificationCenter defaultCenter] postNotificationName:@"IBARevealRequestStart" object:nil];

测试一下,重启Xcode工程,然后暂停进入LLDB模式,分别输入命令
lwq_reveal_load 和 lwq_reveal_sTart

"/Users/apple/Downloads/Reveal.app/Contents/SharedSupport/iOS-Libraries/libReveal.dylib"

"/Users/apple/Downloads/Reveal.app/Contents/SharedSupport/iOS-Libraries/libReveal.dylib"

r

时间: 2024-10-08 08:14:26

Reveal的LLDB集成方式的相关文章

对第三方库集成方式的分析

前一阵子做了iOS集成新浪微博SDK并实现部分功能的工作,这里正好将事后反思的内容总结一下,欢迎喷冷水. 假定需求是这样:在已经使用微博登陆的前提下,查找一个人的所有好友,筛选出其中年龄.性别等属性符合一定规则的人,然后查找这些人所有的微博,将这些微博按照一定的条件组织并且展示. 首先说明一下,查找好友和查找微博的做法,都是通过网络请求向新浪API请求数据,而登陆则可以通过SDK来简单实现. 那么,从上述描述当中,我们看到了两个大的用例,一个是登陆,一个是后面描述的一系列操作. 首先说登陆这件事

Others-接口集成方式

1. 异步通信方式可分为不互锁.半互锁和全互锁三种类型: a.不互锁方式 主模块发出请求信号后,不等待接到从模块的回答信号,而是经过一段时间.确认从模块已收到请求信号后,便撤消其请求信号:从设备接到请求信号后,在条件允许时发出回答信号,并且经过一段时间,确认主设备已收到回答信号后,自动撤消回答信号.可见通信双方并无互锁关系. b.半互锁方式 主模块发出请求信号,待接到从模块的回答信号后再撤消其请求信号,存在着简单的互锁关系:而从模块发出回答信号后,不等待主模块回答,在一段时间后便撤消其回答信号,

Redmine之RestApi集成方式

Redmine是一个较为强大的开源Ticket管理工具,这篇文章我们将会介绍一下如何使用Curl和Redmine所提供的RestApi来进行集成,将会选取Redmine中的用户进行简单的增删改查的操作. Redmine 相关的介绍以前已经做过,在此不再赘述.详细可以参看如下文章: 文章 链接 Ticket管理工具:Redmine http://blog.csdn.net/liumiaocn/article/details/52107410 Bitnami Redmine安装配置指南 http:/

SonarQube静态代码分析maven集成方式

1.在maven的setting.xml增加如下配置 <profile> <id>sonar</id> <activation> <activeByDefault>true</activeByDefault> </activation> <properties> <sonar.jdbc.url>jdbc:mysql://10.10.13.7:3306/sonar?useUnicode=true&am

Confluence集成实践 3 RestAPI集成方式

上篇文章介绍了Confluence提供的标准的RestAPI主要涵括在那些功能领域.在这篇文章中将会继续使用实际的例子来介绍如何使用这些RestAPI. Rest Api Confluence的相关RestAPI在上篇文章中进行了仔细的介绍,具体参看 项目 详细信息 Confluence RestAPI介绍 http://blog.csdn.net/liumiaocn/article/details/77814943 创建空间 Confluence的使用,一般项目从创建一个空间开始,所以第一步,

集成Reveal到你的从Xcode工程中

集成Reveal:将Reveal加入您的Xcode工程 将Reveal加入您的Xcode工程,使得您团队中的其他成员无需任何额外的配置,就可以使用Reveal. 警告: 永远不要将包含Reveal动态库文件的应用正式发布.Apple不允许将含有动态加载库文件的iOS应用发布到Apple商店中. 在Xcode中打开您的iOS工程. 启动Reveal并选择__Help → Show Reveal Library in Finder__,这将会打开Finder窗口,并显示一个名为*iOS-Librar

AEAI Portal-虚拟菜单方式配置SSO界面集成

1.前言 一般情况下虚拟菜单集成方式:先创建虚拟菜单节点,然后配置虚拟菜单的数据URL,同时指定显示页面,在显示页面中添加虚拟IframePortlet.而且:通常情况虚拟菜单是要依赖CAS认证的. 在本文中虚拟菜单集成方式,不依赖CAS认证,而是依赖于表单认证模式.主要区别是在于,显示页面配置的不再是虚拟IframePortlet,而是配置SSO界面集成Portlet (SSORedirectPortlet),具体如下. 2.虚拟菜单配置 2.1  流程机制说明 虚拟菜单配置包括虚拟菜单目录及

Spring 集成Hibernate的三种方式

首先把hibernate的配置文件hibernate.cfg.xml放入spring的src目录下,并且为了便于测试导入了一个实体类Student.java以及它的Student.hbm.xml文件 第一种集成方式:首先定义一个MySessionFactory的类 package com.tz.core; import org.hibernate.SessionFactory; import org.hibernate.cfg.Configuration; import org.springfr

Reveal常用技巧(翻译来自Reveal官网blog)

翻译来自官网:http://revealapp.com/blog/reveal-common-tips-cn.html 以下基于Reveal 1.6. 用于快速上手的内置应用 刚刚下载Reveal,啥都还没配置呢,想先随便玩玩看,怎么办? 我们花了不少时间开发这个复杂程度类似与实际场景的Sample应用──Soundstagram(音频分享版的Instagram, ¯\_(ツ)_/¯),就是为了让大家能最快速地上手Reveal,尝试它的各种强大功能. 在 Help 菜单项中,点击 Inspect