[即时问题解决]Log打印出现字符串截断

今天遇到一个十分诡异的问题情况是这样的:

在Android应用开发中,我负责开发的naive模块需要在特定时刻向Java应用层通过JNI透传一个字符串,这个其实就是一个普通的XML文件,特点就是超大,大约有4000多bytes,在后期调试中发现一个问题:

通过native代码的日志和Android应用层原生Log API打印的log都出现的截断现象,就是说xml不完整,当时第一个怀疑的原因就是数据截断了,然后在底层把能接收到的数据包扩大了很多倍,发现还是没有什么用。然后就在底层发现日志缓冲buff有限制,就在底层跟android应用层都添加日志,发现xml的长度和数据包是一样的,也就是说没有被截断的。然后就怀疑Android应用层原生Log API也是有日志缓冲buff限制的,于是,就打印了xml的最后几行数据,这是之前被截断没有打印的,发现可以打印,那这证明,数据本身是没有问题的,问题出在日志缓冲大小限制上。

得到的教训就是,以后凡是遇到超大数据,首先不要全部打印,也不要完全相信log日志的打印,要合理分析数据的完整性!

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值