通过Chisel加强LLDB的UI调试能力

引言:

Chisel是一个加强LLDB调试能力的小插件.主要特点在于辅助界面开发调试时在控制台以尽可能直观的方式查看界面的元素和情况.为我们梳理视图,控制器以及类关系层级.

以及一些临时的界面调试变动进行快捷响应.它的作者来自于Facebook团队.得益于开源,让我们来观摩和了解一下这个东东到底有什么用处.

在开始之前:

在使用Chisel之前应该对LLDB的常用命令应该有一些了解,如果你还停留在只用控制台看输出日志的阶段,建议看看<LLDB调试命令初探>这篇文章

安装:

Chisel的开源地址如下:

https://github.com/facebook/chisel

安装方式主要是两个步骤:

通过Brew安装Chisel,启动终端,输入如下命令即可:

brew install chisel

顺利的话终端会返回如下图所示的内容:

从反馈的结果中可以看到,我们已经成功的安装好了Chisel.

但是此刻还是无法使用的,我们需要将Chisel和Xcode的LLDB关联起来.注意图中Caveats一栏下的说明:

英文的含义是要求我们需要给 .lldbinit 这个文件 注入一段脚本. 这段脚本的内容是:

command script import /usr......

目的是为了在Xcode运行的时候,能加载我们预设的脚本.

那么,我们只需要在终端执行如下命令就好了:

echo  command script import /usr/local/Cellar/chisel/1.0.0/libexec/fblldb.py >> ~/.lldbinit

到此,安装完成,重启Xcode.  

不过在安装过程中博主我也遇到了不少问题:

1:请以管理员的身份运行安装命令

sudo brew install chisel

2:你可能还没有安装 Xcode 的 Command Line Tools,在终端运行以下命令进行安装:

xcode-select --install

3:在用Brew进行安装之前,你需要更新一下你的Brew以确保存在Chisel, 否则也是无法安装的. 注意也要以管理员的身份去更新(类似于CocoaPods)

sudo brew update

4:没有安装Brew? 

http://blog.csdn.net/chenyi8888/article/details/7345113

开始使用:

明天再写好了.  回家玩去..

时间: 2024-09-17 03:47:31

通过Chisel加强LLDB的UI调试能力的相关文章

如何为 Python 添加远程调试能力而不修改系统代码

最近写了一些关于 Python 远程调试的扯淡向博文,第一篇是「远程调试你的 Python 代码」,第二篇是「使用 VS Code 远程调试 Python 程序」.前些日子开了一个叫做「第八个手艺人」的微信公众号,本想混个原创,骗点零花钱,于是把这些文章首发在公众号上了.可惜微信始终不给我原创标记,微信文章的阅读量也上不去,我也就渐渐失去了玩公众号兴致. 后来看到耗子叔的新博文「为什么我不在微信公众号上写文章」,想想自己写博客的初心,果然还是不要整公众号这些幺蛾子了,回到我的博客,回到我这个可以

配合LLDB调试器进行iOS代码调试

配合LLDB调试器进行iOS代码调试         在一款完整iOS移动应用的开发中,代码的调试和编写占着同等重要的地位.Xcode默认使用LLDB作为代码调试器,LLDB功能丰富且强大,恰当的使用它,可以帮助开发者事半功倍的完成代码调试的工作. 1.expression代码执行指令         关于LLDB调试器,最常用的指令应该是p与po了,开发者常用这两个命令来进行对象的打印操作,p会打印出对象地址和类型,po则会额外打印出对象的值得内容,实际上,这两个命令都是expression相

iOS高效调试

写代码难免出现bug. 储备些调试技能绝对能够提高你的工作效率,让bug无所遁形.下面就和大家分享一些我在工作中常用的iOS调试小技能. 1. 打印 最简单,基础的调试方法就是打印日志了.贴出两段封装好的日志打印代码: //swift版  func DLog(message: T, file: String = #file, method: String = #function, line: Int = #line) {      #if DEBUG          print(", \(me

VS2010中的调试技巧

这是我的博客中关于VS 2010和.NET 4发布系列的第二十六篇文章. 今天的博文将介绍Visual Studio中的一些实用调试技巧.这是受我朋友Scott Cate (他发表过几十篇很棒的VS技术文章) 启发.他最近告诉我,许多Visual Studio下的程序员,甚至一些很有经验的开发人员,都不知道这些技巧.希望这篇文章能帮你掌握这些技巧.它们都很简单,却能帮你节约大量的时间. 跳到当前光标处(Ctrl+F10) 我经常看到人们为了到达目标代码位置,而在程序中早早设定了断点,然后反复地按

Visual studio 2005下xml的xsl转换调试

visual|xml|转换 在.net Framework 2.0中,使用XslCompiledTransform类取代了原来1.x中的XslTransform类,笔者测试了一下对xml的转换处理性能确实提高许多.XslCompiledTransform支持 XSLT 1.0 语法的 XSLT.突出的新功能是她提供了在VS 2005中对xslt样式表文件的调试能力.编写代码过程相当简单. XslCompiledTransform xslt = new XslCompiledTransform(t

UI是什么意思?

UI是什么,UI设计是干什么的.网站里面除了美工和前端,还需要啥? 随着现在的网站体系已经发生了众多的变化和不断更新的理念,网站已经越来越注重交互及用户体验. UI(User Interface):即用户界面,也称人机界面.是指用户和某些系统进行交互方法的集合,这些系统不单单指电脑程序,还包括某种特定的机器,设备,复杂的工具等.      软件设计可分为两个部分:编码设计与UI设计.编码设计大家都很熟悉,但是 UI设计还是一个很陌生的词,即使一些专门从事网站与多媒体设计的人也不完全理解UI的意思

功能强大的vc6调试器

要成为一位优秀的软件工程师,调试能力必不可缺.本文将较详细介绍VC6调试器的主要 用法. windows平台的调试器主要分为两大类: 1 用户模式(user-mode)调试 器:它们都基于win32 Debugging API,有使用方便的界面,主要用于调试用户模式下的应用 程序.这类调试器包括Visual C++调试器.WinDBG.BoundChecker.Borland C++ Builder调 试器.NTSD等. 2 内核模式(kernel-mode)调试器:内核调试器位于CPU和操作系

开发一个Linux调试器(十):高级主题

我们终于来到这个系列的最后一篇文章!这一次,我将对调试中的一些更高级的概念进行高层的概述:远程调试.共享库支持.表达式计算和多线程支持.这些想法实现起来比较复杂,所以我不会详细说明如何做,但是如果你有问题的话,我很乐意回答有关这些概念的问题. 系列索引 准备环境 断点 寄存器和内存 ELF 和 DWARF 源码和信号 源码级逐步执行 源码级断点 堆栈展开 处理变量 高级话题 远程调试 远程调试对于嵌入式系统或对不同环境进行调试非常有用.它还在高级调试器操作和与操作系统和硬件的交互之间设置了一个很

解放双手:如何在本地调试远程服务器上的Node代码

写在前面 谈到node断点调试,目前主要有三种方式,通过node内置调试工具.通过IDE(如vscode).通过node-inspector,三者本质上差不多.本文着重点在于介绍 如何在本地通过node-inspector 调试远程服务器上的node代码. 在进入主题之前,首先会对三种调试方式进行入门讲解,方便新手理解后面的内容.至于老司机们,可以直接跳到主题去. 方式一:内置debug功能 进入调试模式(在第1行断点) node debug app.js 进入调试模式(在第n行断点) 比如要在