char * odb = xxx;//一段buffer
int len = odb->length-odb->offset;
结果调试时printf("%d,%d\n",odb->length-odb->offset,len)时,差值是正常的,但len一直是-1.
分析了半天 ,原来调试的小哥把gdb条件表达式写错了:
stop only if len == -1 写成了 stop only if len = -1,这个值被带入到代码中了。
去掉gdb再跑,printf定向到文件的值一切正常中, 太坑了。