美文网首页
在LLDB进行expression NSLog(@""),到底做

在LLDB进行expression NSLog(@""),到底做

作者: 知行合一认知升级 | 来源:发表于2020-03-15 12:19 被阅读0次

需求

不重新编译的前提上,打印log。

在地图业务中,需要判断境内境外,而判断的依据用到cityId,即一个城市的数字编号,NSInteger。因此需要打印cityId。

现象

在断点中打印

expression (void)NSLog(@"jou9_local_%ld, mapcenterId_%ld", (long)localCityId, (long)mapCenterCityId)

本来应该是131, 2600。但是确打印出:
5032067072, 6138120832

image.png

对比

但是在lldb左侧确打印出了正确的答案:

image.png

真正的原因

需要查询一下,目前关键词
LLDB NSLog

'po' is an abbreviation for 'expression -O --'

'p' is an abbreviation for 'expression --'

类似的解决方案

如果在不重新编译的前提下,还需要打印怎么办呢?
可以试试类似的断点:

选择Log Message

@ mapCenterCityId@ %B %H
image.png

其中%B是打印此方法名的意思,如图...ByPage即为此方法名。
这和用expression NSLog输入一个前缀、用来搜索查看log日志类似,只需要复制此方法名,即可过滤,只查看此方法打印的log。

相关文章

网友评论

      本文标题:在LLDB进行expression NSLog(@""),到底做

      本文链接:https://www.haomeiwen.com/subject/dtncehtx.html