未加星标

LLDB命令及扩展

字体大小 | |
[开发(python) 所属分类 开发(python) | 发布者 店小二05 | 时间 2017 | 作者 红领巾 ] 0人收藏点击收藏

列出断点列表

br l

删除断点(2是断点id)

br delete 2

enable断点

br e 2

disable断点

br di 2

设置断点(30是行数)

b ViewController.m:30

设置symbolic断点

br set -n viewDidLoad

设置条件断点

br mod -c "totalValue > 3000" 2

删除条件断点

br mod -c "" 2

在某一个断点处执行多个命令

br com add 2 > bt > continue > DONE

继续执行

continue c

单步执行

n

单步进入

s

退出当前函数

finish expr命令:可以不用修改代码即可以在程序运行时修改程序数据和行为 expo self.view.hidden = YES expr -L ― 5+5 expr (void)NSLog(@“hello world") expr -- (CGRect)[self.view frame] expr int $debugVar = 5 expr NSString *$debugString = @"ezio cham" expr NSData *$data = [$jsonString dataUsingEncoding: 4] //lldb不认识enum,需要传具体的值 backtrace命令 bt bt all thread命令:在排查多线程问题时会用到 thread backtrace thread backtrace all

显示thread列表

thread list

选择id为1的thread

thread select 1

使用thread命令完成断点功能(100是行号)

thread until 100

修改方法返回值(在代码中的return语句所在行执行)

thread return @"new result"

example:

thread until 63(63行是当前方法的return语句所在行) thread return YES frame命令

查看当前frame的变量列表

frame variable

查看当前frame 名为varName的变量的值

frame variable varName frame info

选择id为2的frame

frame select 2

选择当前frame的下一个frame

frame select -relative -1 watchpoint

查看当前watchpoint列表

watchpoint list watchpoint delete 1 watchpoint set variable varName

可以watch expression(my_pointer为expression的返回值)

watchpoint set expression ― my_pointer

设置watchpoint的条件

watchpoint modify -c “_x > 0” 1

删除条件

watchpoint modify -c “” 1 script命令

查看lldb使用的python版本

script print(sys.version)

进入lldb的python环境

script

使用python脚本

breakpoint command add -s python 1

使用python 函数my_script.breakpoint_func

breakpoint command add -F my_script.breakpoint_func 1 command命令

引入python脚本并指定新command命令:cmd_name

command script import “~/my_script.py" command script add -f my_script.python_function cmd_name

引入python脚本并设置在断点中使用

command script import “~/my_script.py" breakpoint command add -F my_script.breakpoint_func 1

引入其他lldb script

command script import “~/my_script.txt"

删除命令pf

command unalias pf

显示命令历史列表(report navigator中有更详细的内容)

command list alias

获取当前所有alias

help -a

获取和关键字相关的alias

apropos break

设置positional alias

command alias sbr breakpoint set -l %1 command alias pf expr (CGRect)[self.view frame]

设置regular alias

command regex sbr ’s/(\[0-9\]+)/breakpoint set -l %1' command regex pf s/(.+)/expr (CGRect)[%1 frame]/ s/^$/expr (CGRect)[self.view frame]/

持久化alias

创建~/.lldbinit文件 ,添加以下内容:

command regex pf ‘s/(.+)/expr (CGRect)[%1 frame]/’ ‘s/^$/expr (CGRect)[self.view frame]/’ custom summary type summary add CGRect -s "width = ${var.size.width}, height = ${var.size.height}"

为SavingsAccount设置summary

command script import ~/account.py type summary add -F account.count_summary SavingsAccount

删除

type summary delete CGRect

过滤,只显示firstName属性

type filter add SavingsAccount ―child _firstName

改变显示格式

typedef int hex_month type format add ―format hex hex_month quicklook

quicklook in lldb

https://github.com/ryanolsonk/LLDB-QuickLook

quicklook in xcode

http://nshipster.com/quick-look-debugging/ 扩展LLDB命令

lldb的python接口文档

http://lldb.llvm.org/python_reference/index.html chisel:Facebook的LLDB扩展 border self.view border --color green self.view

让view透明

mask self.button

让view从透明状态恢复

unmask self.button

打印当前界面的layer tree

pca

打印当前界面的view 层级

pviews

打印view的responder chain

presponder self.view

交互式查看view的层级树

vs self.view

重绘当前界面

caflush

快速闪烁view

flicker self.view

显示view

show self.view

隐藏view

hide self.view

打印class的继承树

pclass self.property

截屏预览

visualize self.view

本文开发(python)相关术语:python基础教程 python多线程 web开发工程师 软件开发工程师 软件开发流程

主题: CGFacebook删除数据变量
分页:12
转载请注明
本文标题:LLDB命令及扩展
本站链接:http://www.codesec.net/view/529851.html
分享请点击:


1.凡CodeSecTeam转载的文章,均出自其它媒体或其他官网介绍,目的在于传递更多的信息,并不代表本站赞同其观点和其真实性负责;
2.转载的文章仅代表原创作者观点,与本站无关。其原创性以及文中陈述文字和内容未经本站证实,本站对该文以及其中全部或者部分内容、文字的真实性、完整性、及时性,不作出任何保证或承若;
3.如本站转载稿涉及版权等问题,请作者及时联系本站,我们会及时处理。
登录后可拥有收藏文章、关注作者等权限...
技术大类 技术大类 | 开发(python) | 评论(0) | 阅读(11)