liteide

介绍一些在使用liteide (专门用在golang中) 过程中配置方面的一些坑,持续整理。

无法跳转

会出现无法跳转的情况,可能是这个包里面的某个文件会有错误,一般把这个包里的所有的错误都改正之后就能正常跳转了。Ubuntu中,直接按f2可以跳入,之后按住alt+左右键,可以向前跳转或者向后跳转。在mac上,直接按住command键,鼠标移动到对应的函数体上就可以进行跳转,之后按住alt+command+左右键就可以向前或者向后跳转。或者直接查看快捷键navigate forward 以及 navigate backword 这两项。

包引用循环

引用包的时候,如果出现了循环引用,虽然无法通过编译,但是不编译,直接跳转的时候,就会出问题。具体负责跳转的程序可能会一直陷入死循环,卡死机器,之前同学在虚拟机里编码就总是遇到这个问题,开始以为是虚拟机的原因,实际上liteide里面控制跳转的进程一直在占用资源,25.2版本的时候这个问题是存在的,不知道往后的版本中又没有这个问题。具体的信息参见屏幕上的截图:

获取环境变量

还有一个环境变量的坑,注意golang中os.Getenv获取的是当前的环境 os.getenv在liteide中就get不到系统中的环境变量,因为系统中的环境对于liteide而言并不是当前环境,除非直接在终端中go run sourcecode.go 或者先讲对应的环境变量通过os.Setenv设置进来。
关于环境变量的相关内容可以参考另一个文章。

使用debug

在分析源码的时候,有debug还是能很好提高效率的,毕竟能跟着把流程走一遍,终于把这个折腾好了,在liteide中使用debug的时候用的是gdb来进行调试,具体可以参考这个和这个。

在命令行中使用gdb的资料有很多,需要注意的地方:mac中要想使用gdb进行debug的时候需要通过证书认证的方式,具体操作上面的资料中都有介绍。还有就是代码放在liteide中的时候,每个文件夹中要只有一个main文件,这样debug的时候才能正常工作,因为在liteide中,Build->Build Configuration中的Build Path是文件夹的路径,相当于是项目的路径,不是具体文件的路径,有的时候习惯在一个文件夹下放好多包含main函数的文件,用于各种测试,这样在命令行中调试是可以的,因为命令行中使用debug命令可以直接定位到单个的文件,在liteide中会报类似的错误:

error,msg="No executable file specified.\nUse the \"file\" or \"exec-      file\" command."

实际操作了一下,依旧有一些问题,貌似没法跳转到某些语句上面:

10000074^error,msg="-var-create: unable to create variable object"

很可能是build时候的问题,在Preference中LiteDebug上中,选择每次debuging之前rebuild之后再单步调试的时候就正常了。

推荐文章