学习使用Reveal连接模拟器和真机调试

学习使用Reveal连接模拟器和真机调试

  Reveal是一个ios程序界面调试工具。

(一)用终端创建文件,设置别名

  首先打开Terminal(终端),输入vim~/.lldbinit创建一个名为.lldbinit的文件,然后将如下内容输入该文件中:

  command alias reveal_load_sim expr (void*)dlopen("/Applications/Reveal.app/Contents/SharedSupport- Libraries/libReveal.dylib",0x2);

  command alias reveal_load_dev expr (void*)dlopen([(NSString*)[(NSBundle*)[NSBundle mainBundle] pathForResource:@"libReveal" ofType:@"dylib"] cStringUsingEncoding:0x4],0x2);

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

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

这步是为lldb设置了4个别名:

1、reveal_load_sim 为模拟器,加载reveal调试用的动态链接库。

2、reveal_load_dev为真机加载reveal调试用的动态链接库。

3、reveal_start启动reveal调试功能。

4、reveal_stop结束reveal调试功能。

(二)添加断点,设置断点

  我们需要在APPDelegate类的application:didFinishLaunchingWithOptions:方法中操作:

  1.给该方法添加一个断点,右击改断点,选择Edit Breakpoint。

  

  2.单击Action旁边的Add Action(没有的话点击右边‘+’按钮),输入“Reveal_load_sim”。

  3.勾选“Options”上的“Automatically continue after evaluating”选项。

  

(三)添加Reveal,并设置

  现在,我们需要找到Reveal.app,右击选择显示包内容,将Contents-->SharedSupport-->iOS-Libraries里的Reveal.framework拖入打开的Xcode工程中。点击Build Phases  然后从Link Binary With Libraries 删除Reveal.framework(一定要移除啊)。

  注:如果将Reveal.framework拖入打开的Xcode工程中时,没有操作下面这一步的话,就会出现错误:

  

  选中Build Settings 在搜索栏中输入 Other Linker Flags,在Other Linker Flags(也可以在Other Linker Flags下的Debug中)输入-ObjC -lz -framework Reveal。

(四)完成连接,进行调试

  完成上边操作后 command + R  运行Xcode程序,打开Reveal,就可以在Reveal界面的左上角看到有模拟器(真机)可以连接调试。

  注:真机的话保证在同一个wifi下。

时间: 2024-10-09 23:05:17

学习使用Reveal连接模拟器和真机调试的相关文章

Android及Robotium学习总结【环境变量,真机调试及根据id模拟按键】

本文为转载文章,原文地址为:http://blog.sina.com.cn/s/blog_6abda9bc01015zoc.html Keyword:Android,Robotium,自动化测试,黑盒测试,已知id如何模拟按键 纯属爱好,最近学习了Android及其自动化测试,总算对Android有了个大概的了解. 毕业后就是用的C,从未用过java,并且最近4年几乎没怎么摸过代码,现在学习android还是有点费劲:不过还好,自我觉得理解的很快,别人碰到的问题我都碰到了,很多网上都有答案.其中

appium连接模拟器和真机

连接模拟器 如果连接不上,是因为adb版本号的问题,将SDK的adb.exe复制到模拟器目录覆盖模拟器的adb.exe 启动安卓模拟器(示例:逍遥安卓) 然后连接 adb connect 127.0.0.1:21503 夜月神模拟器 adb connect 127.0.0.1:62001 nox_adb.exe connect 127.0.0.1:62001 夜神模拟器第一个端口是62001,第二个是62025,第三个是62025+1,以此类推 连接真机 Android设备连接WiFi,然后ad

iOS开发:创建真机调试证书

iOS开发:创建真机调试证书 工具/原料 能上网的苹果电脑 浏览器 Xcode 5.1.1以上 苹果开发者账号 ITunes软件 iOS设备(iPhone.ipad均可) 方法/步骤 1 首先打开苹果的开发者网站(Tips:这里我就不贴网址了) 点击网站上方的Member Center,会跳转到登录界面(Tips:如果登录过,并选择了浏览器保存此密码的时候,默认是登录状态). 2 如图所示输入你的开发者账号和密码. 输入完成后点击"Login"(Tips:左边是注册,下边是找回密码,右

真机调试和用模拟器调试各有什么优缺点?

真机调试和用模拟器调试各有什么优缺点?这个问题是多数开发者尤其是初学者比较想了解的,关于真机调试和模拟器调试哪个更有优势,根据开发者的实践经验得出以下结论: 真机调试和用模拟器调试的优缺点: 1.真机调试更好,因为真机调试就是在我们平常使用的手机上操作,测试更准确;模拟器在某些方面往往达不到真机的真实水平. 2.真机调试更能清晰真实的反映出开发过程中出现的问题;而模拟器性能比较差,在模拟器上不一定能发现. 3.真机测试更能支持横竖屏都方便,有一些情况模拟机不行. 4.搞3D图形图像时候,真机支持

XE6 & IOS开发之免证书真机调试(2):连接真机并运行App(有图有真相)

XE6 & IOS开发之免证书真机调试(2):连接真机并运行App(有图有真相) 2014-08-26 21:26 网上能找到的关于Delphi XE系列的移动开发的相关文章甚少,本文尽量以详细的图文内容.傻瓜式的表达来告诉你想要的答案. 连接真机前,请先确保真机已越狱,并已安装好AppSync.--------------------------------------------------------------- 1.确保iPhone已越狱,可以看到并成功运行cydia为准. 2.并且安

利用终端指令合并支持模拟器和真机的静态库

制作.a静态库时,需生成了支持模拟器和真机的静态库,然后在开发中我们在模拟器和真机上测试时,就需要来还更换静态库,造成极大的麻烦,因此,我们可以通过终端指令将支持模拟器和真机的静态库合并一个静态库,这样在模拟器和真机上都可以使用 当我们在模拟上使用真机的静态库时,就会报如下错误,这种错误我们在以后的开发中会经常遇到: 该错误大体意思是该静态库不支持x86_64,原因是因为模拟器的处理器是x86_64架构的,而真机的都是采用的arm7,arm7s,arm64架构的,相反在真机上使用模拟器的静态库会

react native新手学习之路03真机调试

React Native新手入门03真机调试(iOS) 从设备访问开发服务器 在启用开发服务器的情况下,你可以快速的迭代修改应用,然后在设备上查看结果.这样做的前提是你的电脑和设备必须在同一个wifi环境下. 打开AwesomeApp/ios/AwesomeApp/AppDelegate.m修改里面的URL,把localhost改为你的电脑的IP.在Mac系统下,你可以在系统设置/网络里找到电脑的IP地址. eg: jsCodeLocation = [NSURL URLWithString:@"

Ubuntu系统连接Android真机调试

第一步:查看usb信息: 在终端输入命令 lsusb 1 2 3 4 5 6 7 8 [email protected]:~$ lsusb Bus 001 Device 002: ID 8087:0024 Intel Corp. Integrated Rate Matching Hub Bus 002 Device 002: ID 8087:0024 Intel Corp. Integrated Rate Matching Hub Bus 001 Device 001: ID 1d6b:0002

【问题收集·初级问题】模拟器和真机,分别如何指定数据库路径,模拟器和真机对应的沙盒有何不同…

模拟器和真机,分别如何指定数据库路径,模拟器和真机对应的沙盒有何不同- 网友的问题如下所示: 23:58:19 但是原理搞不太懂... 网友的问题如下所示: 23:59:28 我在项目中用了一个数据库框架对数据库的操作是这个框架封装好的 网友的问题如下所示: 23:59:36 我看了下头文件 网友的问题如下所示: 00:00:18 就是数据库在初始化的时候指定了一个路径是模拟器运行时的沙盒路径 我的回答如下所示: 00:01:02 嗯,在真机上数据库的路径能建立起来吗 网友的问题如下所示: 00