美文网首页
在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