Tools

centos 7 安装网易云音乐

在CentOS7上安装网易云音乐,需要启用epel.repo和nux-dextop.repo源。 然后安装如下rpm包,重点是qt5的rpm: $ ldd /usr/lib/netease-cloud-music/netease-cloud-music | cut -d " " -f3 | sort | uniq | xargs rpm -qf | uniq | xargs rpm -q --queryformat "%{NAME} " alsa-lib libasyncns atk libattr avahi...

如何将VIM配置成适用C语言的IDE

博客都快长了半年的草,整个换工作的过程也基本确定下来了,在前公司里做内核开发,还有souce insight可用来看代码,自己也就懒得折腾,到新公司后,source insight没得用了,只好把vim拿来配置,记录如下,一般情况下的IDE长什么样子都是类似,最好界面如source insight这般,可以解决类似问题。 左边有类似的函...

Linux下使用原生迅雷下载文件

迅雷本来只有windows版本,对应的linux版本一直都是在wine下实现的,在ubuntu下我是采用crossover实现的,具体如何进行wine迅雷参考链接。但是迅雷终于在路由大潮里面开发了linux软件,生产了xware固件进行路由下载,恰好出了x86_glibc版本,如此,这个固件就能在ubuntu上运行,这个固件只是一个后台程序,依靠网络界面...

内核调试方法:Jprobe与硬件断点

Jprobe在之前经常使用用来对内核流程中的函数挂钩子,劫持相关参数,进行debug调试分析。 但在内核调试中经常碰到需要监视的模块数据,而这些数据往往在很多函数中修改,需要程序员人工从大量的内核代码中过滤出这些函数,使用jprobe就需要监控每个函数的入口,涉及的内容比较复杂,而且很多时候的函数符号并没有导出,...

gdb工作原理和内核实现

gdb主要功能的实现依赖于一个系统函数ptrace,通过man手册可以了解到,ptrace可以让父进程观察和控制其子进程的检查、执行,改变其寄存器和内存的内容,主要应用于打断点(也是gdb的主要功能)和打印系统调用轨迹。 一、ptrace函数 函数原型如下: #include <sys/ptrace.h> long ptrace(enum __ptrace_reque...

block_dump观察Linux IO写入的具体文件

很多情况下开发者调测程序需要在Linux下获取具体的IO的状况,目前常用的IO观察工具用vmstat和iostat,具体功能上说当然是iostat更胜一筹,在IO统计上时间点上更具体精细。但二者都是在全局上看到IO,宏观上的数据对于判断IO到哪个文件上毫无帮助,这个时候block_dump的作用就显现出来了。 一、使用方法: 需要先停掉sy...

Oprofile:CPU性能分析工具指南

在平台升级中经常碰到自测时性能指标没有问题,而平台转到产品业务部门匹配测试时就出了问题.如果是功能异常的问题,一般还是很好处理的,但如果碰到系统的性能问题,如CPU升高,内存使用超标,就比较不好搞了,老虎吞天,没有目标,一个版本几十万行代码一行行看,绝对能累死,尤其是内核组. 幸好开源界的风气好,提供了各种工具...

简易git入门手册

最近学习了一些git,在一些简易命令上和SVN是类似的,这点还是不错的,有利于初学者快速上手.主要记一下git的入门的基本命令,实现机制以及和SVN的优劣的口水仗就不提了. 安装了git sudo apt-get install git 配置git信息 git config -global user.name "oenhan"; git config -global user.email "mail@oenhan.com" ...