linux工具篇——构建/调试/优化程序

一 : 程序构建

一般源代码提供的程序安装需要通过配置、编译、安装三个步骤;

配置做的工作主要是检查当前环境是否满足要安装软件的依赖关系,以及设置程序安装所需要的初始化信息,比如安装路径,需要安装哪些组件;配置完成,会生成makefile文件供第二步make使用;
编译是对源文件进行编译链接生成可执行程序;
安装做的工作就简单多了,就是将生成的可执行文件拷贝到配置时设置的初始路径下1.1 配置
1.2 编译
    1.2.1 makefile编写的要点
    1.2.2 makefile中的全局自变量
    1.2.3 更多选择 CMake
   1.2.4  编译依赖的库
    1.2.5 g++编译
1.3 安装
1.4 总结

二 :进程调试

1.进程调试

1.1 gdb程序交互调试

1.2 pstack跟踪栈空间

1.3 strace分析系统调用

2.目标文件分析

2.1 nm:列出目标文件的符号清单

2.2 ogjdump工具:用来显示二进制文件的信息

2.3 readelf:和objdump命令提供的功能类似,但是它显示的信息更为具体

2.4 size:查看程序运行时各个段的内存占用

2.5 file:用于查看文件的类型,由哪个程序生成

2.6 fuser:显示文件使用者信息,显示所有正在使用着指定的file, file system 或者 sockets的进程信息

2.7 xxd:十六进制方式显示文件,只显示文本信息

2.8 od:查看特殊格式的文件内容。通过指定该命令的不同选项可以以十进制、八进制、十六进制和ASCII码来显示文件息

性能优化的核心是找出系统的瓶颈点,问题找到了,优化的工作也就完成了大半; 这里介绍的性能优化主要从两个层面来介绍:系统层面和程序层面;

三 :性能优化

3.1. 分析系统瓶颈
系统响应变慢,首先得定位大致的问题出在哪里,是IO瓶颈、CPU瓶颈、内存瓶颈还是程序导致的系统问题;

使用top工具能够比较全面的查看我们关注的点:

$top
    top - 09:14:56 up 264 days, 20:56,  1 user,  load average: 0.02, 0.04, 0.00
    Tasks:  87 total,   1 running,  86 sleeping,   0 stopped,   0 zombie
    Cpu(s):  0.0%us,  0.2%sy,  0.0%ni, 99.7%id

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值