xcode 11db 调试台调试方法

Xcode 打印数据通常使用NSLog,但是打断点去NSLog化无疑显得逼格高很多并且也会省去很多的麻烦(毕竟没有人喜欢没事就敲什么NSLog的),任何由NSLog输出的内容都会成为应用程序成品代码的一部分,也就是说会被任何接触到应用的人看到。只要把设备接入信息管理工具,每个人都能查看控制台信息并查询每一条日志记录。这可能会引发一系列严重后果,例如向控制台输出机密逻辑算法或者用户密码等信息,我们可以使用宏定义去解决所涉及的安全问题,只在调试版本中调用NSLog。可以采用全局可访问的头文件,把所有日志记录都灌进去,而且不用担心它们会出现在成品代码当中

#ifdef DEBUG#define DMLog(...) NSLog(@"%s %@", __PRETTY_FUNCTION__, [NSString stringWithFormat:__VA_ARGS__])

#else#define DMLog(...) do { } while (0)

还有一种就是在控制台手写命令打印

po 命令:为 print object 的缩写,显示对象的文本描述。使用p 命令来处理纯量值,即原生类型(boolean、integer、float等)。 
print 命令:有点类似于格式化输出,可以输出对象的不同信息。 
expr 表达式:打印表达式。 
info 命令:我们可以查看内存地址所在信息。 
info line *内存地址:可以获取内存地址所在的代码行相关信息。 
show 命令:显示 GDB 相关的信息。如:show version 显示GDB版本信息。 
bt: 显示当前进程的函数调用栈的情况;”up num”:查看调用的详细信息;down:返回栈列表;l:显示详细代码信息;p:输出数值。 
help 命令:如果忘记某条命令的语法了,用来获取帮助信息。

这里需要强调的一个技巧是,通过使用expr 表达式可实现在运行时修改变量的值

expr username = @"username"expr password = @"badpassword"

  • 2
    点赞
  • 4
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值