借着最近在工作中遇到的一个问题,简单来讲讲如何使用xcode的view memory功能来查看数据,排查问题。
问题描述:
和服务器进行socket通信,但客户端这边发现服务器发过来的一个信令在反解、结构化后,有一个字段的数值和约定的对应不上,双方都先排查了一下各自代码,都没有发现明显的问题,导致现在无法定位问题引入的源头。于是决定客户端这边拿到反解、结构化之前,服务器发过来的原始数据,看看到底是传过来的时候数据就是错的,还是因为客户端这边反解、结构化时引入的错误。
数据格式:
数据组成:msgId(4字节)+cntLen(4字节)+value1(32字节)+value2(4字节)
约定好正确的数据应该是msgId=0x00020007, value2=1,结果目前客户端这边反解出来的结果是value2=3,所以下面我们就借助view memory来看看服务器传过来的原始数据(value2的值)到底是否正确。
调试:
在数据接收过来,尚未做任何处理时打上断点。原始数据目前都存在指针_buff指向的内存空间中。右键选择view memory of "*_buff",注意不要选择上面的view memory of "_buff",view memory o