201905月技术笔记

1

缘起

  • 有相关问题,还是得当天就整理下,总月末再整理总有点扯。当天有点忙的话,最迟第二天早上来整理好
  • 从20190508晚上整理开始。

Week 19

20190506

  • 在不该浪费时间的地方瞎折腾,定位代码知道是for(){while()}里while()没走到,一直在看for()里的值,也看到了,还怀疑有地方给改掉了,**没想到是while()里的sql语句没取到值。
  • 感觉任何地方都可以加|管道符啊env | HOME

20190507

  • 1、在makeall install时报错 “/usr/bin/ld: cannot find -lgtest”

    • 第一反应是搜答案,是lib目录下没这个文件,比如usr/lib。
    • 但后面实践来看,有可能是makefile中的问题,比如-L$PATH -lgmock,有可能是$PATH没有取得到值。
    • 解决方案:我后面这样的报错是,makefile里变量没取到值,给写成环境上的固定路径了。

20190508

  • 1、make是成功的,但最后提示 “make: 警告:检测到时钟错误。您的创建可能是不完整的。” (make: warning: Clock skew detected. Your build may be incomplete.)

    • 原因:上传到linux时,win上的时间与linux不一致
    • 解决方案touch一下上传的文件,再重新编译一下。
  • 2、make install时有时报错了但找错的提示行数不太容易,需要把屏幕输出的内容打印到txt文本里。

    • 解决方案 make install >a.txt 2>&1
  • 3、我一般是用chmod +x file,看了一下人家shell里写的是chmod u+x

    • 区别是:一个只是对当前用户给执行权限。

20190509

  • 1、类型输出不对,会core。现场碰到个问题,我就直接加日志了,不管啥类型用的是都是[%s],现场报了一个core,于是整理一下类型输出
  • 2、于是想到之前也遇到到size_t类型时,我用的是[%d],静态检查时报错了。

    • 解决方案:bool类型[%d],longlong类型[%lld],size_t类型用[%zu]

20190510

  • 1、gtest里也可以到源文件上下断点的,这样便于check一下流程里的输出值为啥与期待输出值不一样,可以单步。

    • 最开始自已有点蒙,只想着b 测试代码里断点,死活挂不上,问了一下大佬有两种方式,一种直接b 源代码,还有一种set args --gtest_filter=文件名.函数名

20190511

  • 环境搭好,代码也OK,但有几个期望输出不一样,周六就远程在家跑一下,遇到几个问题,记录一下。

    • 用winscp传文件时,提示4的错误 。竟然是服务器端空间满了
    • 在vi编辑时出现了假死情况,可能我在操作时误输了ctrl+s输入ctrl+q能通出假死,能继续保存了。
    • 想看一下保存到本地的刷屏日志的大小,还是用M单位看了爽。ls -l --block-size=M,之前用df -m查看的空间。

19周总结

  • 1、把gtest环境搞起来了,看起来很简单的几行命令,涉及到不同环境,要不断调makefile。
  • 2、远程支持了人家问题(至少2个),也暴露了自已解决问题不够快。

Week20

履历

  • 20190513整理掉了19W遇到的一些问题。

如果觉得我的文章对你有用,请随意赞赏

你可能感兴趣的

载入中...