lldb的总结和如何自定义方法

最近喜欢用lldb进行调试觉得非常的方便,总结一下常用的命名。
1、打印对象

po self.view

打印的内容为

<UIView: 0x7fa5b05031e0; frame = (0 0; 375 667); autoresize = W+H; layer = <CALayer: 0x600000029520>>

2、执行方法和定义变量,变量前面需要加$

(lldb) e NSString*$str = @"test"
(lldb) po $str
test

3、thread return 修改方法的返回值

- (BOOL)threadReturn {
return NO;
}

上面的方法可以打个断点,修改返回值为YES threadReturn YES
4、打印view的层级结构,并动态更新UI

 打印view的层级结构
po [[[UIApplication sharedApplication] keyWindow] recursiveDescription]

打印结果如下

<UIWindow: 0x7fe63b510880; frame = (0 0; 375 667); autoresize = W+H; gestureRecognizers = <NSArray: 0x6000002447d0>; layer =        <UIWindowLayer: 0x600000028000>>
 | <UIView: 0x7fe63b405ee0; frame = (0 0; 375 667); autoresize = W+H;   layer = <CALayer: 0x6080000266a0>>
 |    | <_UILayoutGuide: 0x7fe63b406290; frame = (0 0; 0 20); hidden = YES; layer = <CALayer: 0x6080000259a0>>
 |    | <_UILayoutGuide: 0x7fe63b406d70; frame = (0 667; 0 0); hidden = YES; layer = <CALayer: 0x608000025a80>>
 |    | <UIView: 0x7fe63b407440; frame = (0 0; 375 667); layer = <CALayer: 0x6080000258e0>>
 |    |    | <UIImageView: 0x7fe63b406770; frame = (172.5 318.5; 30 30); userInteractionEnabled = NO; layer = <CALayer: 0x608000027060>>

定义一个变量myview

e id $myview = (id)0x7fe63b405ee0

改变其背景颜色

(void)[$myview setBackgroundColor:[UIColor blueColor]]

刷新一下,背景颜色发生变化

e (void)[CATransaction flush]

5、使用command alias 来重命名方法
上面是对常用的命令的总结,发现有些命名有点长,而且敲的时候没有提示。
command alias 的规则:
command alias + 自定义的方法名 + 需要执行的方法,然后把这些放在 ~/.lldbinit中如果没有的话就touch ~/.lldbinit在打开进行编写。
如:我们要改 e (void)[CATransaction flush] 重命名为yj_flush

command alias yj_flush e (void)[CATransaction flush]

保存并重启xcode,就能使用我们自己的方方法调用了。

6、使用command regex来定义带参数的方法

command regex postNoti 's/(.+)/expr (void)[[NSNotificationCenter defaultCenter] postNotificationName:%1 object:nil]/'

命令 postNoti %1 用来post 一个notication如:

(lldb) postNoti @"MyNotification"

7、另外可以安装Facebook开的Chisel

安装方法如下:

brew update
brew install chisel

安装完后在~/.lldbinit中添加.py的路径(需根据自己的安装路径)

command script import /usr/local/opt/chisel/libexec/fblldb.py

保存,重启xcode就能用。
最后附上最部分命令的说明

Chisel部分命令说明.png

如果想知道更多命令的用途可以用help查看

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
  • 序言:七十年代末,一起剥皮案震惊了整个滨河市,随后出现的几起案子,更是在滨河造成了极大的恐慌,老刑警刘岩,带你破解...
    沈念sama阅读 194,390评论 5 459
  • 序言:滨河连续发生了三起死亡事件,死亡现场离奇诡异,居然都是意外死亡,警方通过查阅死者的电脑和手机,发现死者居然都...
    沈念sama阅读 81,821评论 2 371
  • 文/潘晓璐 我一进店门,熙熙楼的掌柜王于贵愁眉苦脸地迎上来,“玉大人,你说我怎么就摊上这事。” “怎么了?”我有些...
    开封第一讲书人阅读 141,632评论 0 319
  • 文/不坏的土叔 我叫张陵,是天一观的道长。 经常有香客问我,道长,这世上最难降的妖魔是什么? 我笑而不...
    开封第一讲书人阅读 52,170评论 1 263
  • 正文 为了忘掉前任,我火速办了婚礼,结果婚礼上,老公的妹妹穿的比我还像新娘。我一直安慰自己,他们只是感情好,可当我...
    茶点故事阅读 61,033评论 4 355
  • 文/花漫 我一把揭开白布。 她就那样静静地躺着,像睡着了一般。 火红的嫁衣衬着肌肤如雪。 梳的纹丝不乱的头发上,一...
    开封第一讲书人阅读 46,098评论 1 272
  • 那天,我揣着相机与录音,去河边找鬼。 笑死,一个胖子当着我的面吹牛,可吹牛的内容都是我干的。 我是一名探鬼主播,决...
    沈念sama阅读 36,511评论 3 381
  • 文/苍兰香墨 我猛地睁开眼,长吁一口气:“原来是场噩梦啊……” “哼!你这毒妇竟也来了?” 一声冷哼从身侧响起,我...
    开封第一讲书人阅读 35,204评论 0 253
  • 序言:老挝万荣一对情侣失踪,失踪者是张志新(化名)和其女友刘颖,没想到半个月后,有当地人在树林里发现了一具尸体,经...
    沈念sama阅读 39,479评论 1 290
  • 正文 独居荒郊野岭守林人离奇死亡,尸身上长有42处带血的脓包…… 初始之章·张勋 以下内容为张勋视角 年9月15日...
    茶点故事阅读 34,572评论 2 309
  • 正文 我和宋清朗相恋三年,在试婚纱的时候发现自己被绿了。 大学时的朋友给我发了我未婚夫和他白月光在一起吃饭的照片。...
    茶点故事阅读 36,341评论 1 326
  • 序言:一个原本活蹦乱跳的男人离奇死亡,死状恐怖,灵堂内的尸体忽然破棺而出,到底是诈尸还是另有隐情,我是刑警宁泽,带...
    沈念sama阅读 32,213评论 3 312
  • 正文 年R本政府宣布,位于F岛的核电站,受9级特大地震影响,放射性物质发生泄漏。R本人自食恶果不足惜,却给世界环境...
    茶点故事阅读 37,576评论 3 298
  • 文/蒙蒙 一、第九天 我趴在偏房一处隐蔽的房顶上张望。 院中可真热闹,春花似锦、人声如沸。这庄子的主人今日做“春日...
    开封第一讲书人阅读 28,893评论 0 17
  • 文/苍兰香墨 我抬头看了看天上的太阳。三九已至,却和暖如春,着一层夹袄步出监牢的瞬间,已是汗流浃背。 一阵脚步声响...
    开封第一讲书人阅读 30,171评论 1 250
  • 我被黑心中介骗来泰国打工, 没想到刚下飞机就差点儿被人妖公主榨干…… 1. 我叫王不留,地道东北人。 一个月前我还...
    沈念sama阅读 41,486评论 2 341
  • 正文 我出身青楼,却偏偏与公主长得像,于是被迫代替她去往敌国和亲。 传闻我的和亲对象是个残疾皇子,可洞房花烛夜当晚...
    茶点故事阅读 40,676评论 2 335

推荐阅读更多精彩内容

  • LLDB的Xcode默认的调试器,它与LLVM编译器一起,带给我们更丰富的流程控制和数据检测的调试功能。平时用Xc...
    小笨狼阅读 20,415评论 31 187
  • 转载 与调试器共舞 - LLDB 的华尔兹: https://objccn.io/issue-19-2/ 推荐:i...
    F麦子阅读 3,321评论 0 10
  • 你可能注意到在你的开发者生涯中, 一遍又一遍的输入相同的东西真的很糟糕.如果你用的某个指令输入起来很麻烦, 没有原...
    股金杂谈阅读 560评论 1 0
  • linux资料总章2.1 1.0写的不好抱歉 但是2.0已经改了很多 但是错误还是无法避免 以后资料会慢慢更新 大...
    数据革命阅读 12,112评论 2 34
  • 最近就是突然想写一些东西,就从今天偶然看到的直播主题切入吧:何为自我。 “青春就是一场远行,一场离自己的童年,离自...
    Onlyareed阅读 390评论 0 2