最近, 我花了半天时间改的代码, 别的同事携带发布后, 我发现我的修改并没有生效, 很纳闷。

       难道, 我要去check一下我的代码逻辑吗? 在测试环境上测试, 明明是没有问题的啊, 怎么发布后就不生效呢? 于是, 我怀疑, 可能是发布的时候, 并没有真正携带上我的修改。 最后的结论是: 别的同事没有编译我修改的基础库, 导致确实没有携带我的修改。

       怎么发现的呢? 我写代码有个习惯, 会在打印log时, 携带上标记。 如果修改的代码确实不需要打印log,  那就在代码文件的已有打印log的地方, 加个感叹号之类的东西, 作为标记区分, 最后编译出来的二进制文件是否携带这个感叹号, 就可以确定是否携带了我的修改。

       举个例子, 原来的log是:

printf("connect error, iRet is %d\n", iRet);
       我会把它改成:

printf("connect error! iRet is %d\n", iRet);
       这样, 可以利用strings命令来扫最后的二进制文件, 通过,和!的区分, 就能识别出来。

        当然, 如果我修改的代码本身就有log, 就不需要这么搞了, 自身的log就是一种标记, 可以用string命令来区分。



        如果有疑问, 请参考:http://blog.csdn.net/stpeace/article/details/50077677  《再次唠叨linux中的strings命令》




本文转载:CSDN博客