最新项目中一直在打印一个log CUICatalog: Invalid asset name supplied: ''
,很奇怪,代码都是正常的怎么突然打印出这个log呢?经过调研发现之所以产生这个log的原因是[UIImage imageNamed:@""]
传了一个空字符串来获取图片,因为项目中使用[UIImage imageNamed:]
的地方特别多,单独依据log很难定位到具体是哪里的代码出现问题,这里给大家提供一个定位的方法。
通过添加一个symbolic breakpoint
来定位这个bug。
这里需要说明的是$arg3
用于模拟器,$r0
用于真机,另外图上的方式是用来比较传入的imageName为nil的情况,我们还可以修改对应的匹配规则查找字符串为@""的情况,(int)[$arg3 length] == 0
,通过这个断点就能快速的帮我们定位出传入空字符串的地方。