需求
不重新编译的前提上,打印log。
在地图业务中,需要判断境内境外,而判断的依据用到cityId,即一个城市的数字编号,NSInteger。因此需要打印cityId。
现象
在断点中打印
expression (void)NSLog(@"jou9_local_%ld, mapcenterId_%ld", (long)localCityId, (long)mapCenterCityId)
本来应该是131, 2600。但是确打印出:
5032067072, 6138120832
对比
但是在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。
网友评论