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

shell中有很多命令适合对文本进行编辑,如grep,cut,sed,awk等,命令有很多,但没有哪个命令可以方便的通吃天下,而且由于shell命令的独特用法,用后即忘,现在记载于此,方便日后查询。 一、行操作 1.显示文件内容前10行 head -n 10 filename 2.显示文件内容后10行 tail -n 10 filename 3.显示指定的行数(2-5行) se...

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

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

今天上班时看到一条新闻,说是google reader服务将在7月份停止更新,自己晃了一下脑袋,还以为看花眼了,点击一看,确是如此. 都快忘记什么时候使用google reader了,大概是大一的时候,然后逐渐的沉迷在这个信息的苦海,乐疲忘返,每天晚上打开它都是几百条的信息摆在眼前,一条条看完,有时候不知不觉中到了午夜1点,痛苦么?其实...

最近学习了一些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" 初始化...