Linux环境debug指南 - 持续更新

· 学习

最近实验测项目比较多,打算记录一下Debug的原则问题。目前使用Linux环境已经有2、3年了,遇到的坑确实不少。最近频繁的给学生部署环境的过程中,又遇到许多老问题和新问题,这里一并打包总结一下。

原则

  1. 遵守项目环境,如果可以用Docker环境,则用Docker(参考OpenLANE的环境部署:The-OpenROAD-Project/OpenLane
  2. 出现问题解决步骤:1)如果是新的概念,可以询问大模型;2)查阅相关官方文档和issue,喂给大模型总结(大模型目前解决具体问题的能力比较有限,但是总结的能力一般不会出错);3)自己实践总结。
  3. 在解决完成一个问题后,去拓展学习相关的一类知识(只需要掌握最常用(80%时间用到)的20%基础知识)。

Linux缺少库文件

缺少库文件(so),链接时某个符号(GLIBCXX)找不到是最常遇到的问题。解决步骤:

  1. 首选部署官方的docker。
  2. 如果需要在host的环境中使用,请使用nix(Download | Nix & NixOS)和home-manager(Home Manager Manual)
  3. 其他方法:检查LD_LIBRARY_PATH变量,使用patchelf修改相关路径(不推荐)

访问权限问题

权限问题通常出现在多个用户情况和使用docker的情况:

字符不显示的问题

大概率原因是环境变量LANG没有设置为UTF-8格式的编码:笔者在使用tmux时候,经常在老服务器(centos7)上遇到这种问题,通过在启动脚本.bashrc或者.zshrc中加入export LANG="C.UTF-8"解决。

问题总是存在的,但是好消息是办法一定是有的。

Linux debug