在一个gdb中同时调试parent与child进程

(gdb) set follow-fork-mode parent/child //设置当fork时直接进入parent还是child调试, 默认为parent

(gdb) set detach-on-fork on/off //设置当fork后, 没有直接进入的进程是attach还是detach, on时将detach, 即不挂其他起程, 默认值为on
  //off: 则fork后的两个进程都要被attach
假入现在进入了child进程
(gdb) info inferiors
  Num  Description       Executable
* 2    process 2550      /home/alex/work/test/test_emacs_gdb_fork
  1    process 2546      /home/alex/work/test/test_emacs_gdb_fork
*指定当前正在调试的进程
(gdb)inferior 2  //inferior inferior_num 将调试控制进入2546进程(父进程)

linux 打造man中文帮助手册图解(man-pages-zh帮助页)

刚学习linux有一份中文帮助手册该是多好事情。linux自带的帮助尽管有多种语言,目前各种发行版的linux基本没有中文帮助手册。打造个 适合自己中文手册还是很有意义的。配置过程其实比较简单,只需要知道中文包,然后放到man可以搜索到的目录中,基本就可以了。

继续阅读 »

indent常用参数

我目前使用的格式是

indent -npro -gnu -i4 -ts4 -sob -l200 -ss -bl -bli 0 -npsl filename
indent -npro -kr -i4 -ts4 -sob -l200 -ss -nce filename

继续阅读 »

Linux中整理代码工具indent的使用

indent 是一个比较不错的整理工具,即使你写了一段于内核代码风格好不相同的代码,那也没关系,用indent工具就能解决你的问题,帮你整理你的代码。indent几乎在所有的Linux发行版中几乎都可以找到。或者自己安装(ubuntu中:sudo apt-get install indent)。

继续阅读 »

网络服务端客户端编程步骤(TCP/UDP)

TCP编程的服务器端一般步骤是:

继续阅读 »

用C语言自己编写一个more程序

这是自己用C语言编写的一个more程序,主要用到了终端控制和C语言的控制符功能,源代码如下:

继续阅读 »

用C语言自己编写一个ls程序

用C语言自己编写一个ls程序

继续阅读 »

HTTP协议的C语言编程实现实例

大家都很熟悉HTTP协议的应用,因为每天都在网络上浏览着不少东西,也都知道是HTTP协议是相当简单的。每次用到FlashGet之类的下载软件下载网页,当用到那个“用FlashGet下载全部链接”时总觉得很神奇。
后 来想想,其实要实现这些下载功能也并不难,只要按照HTTP协议发送request,然后对接收到的数据进行分析,如果页面上还有href之类的链接指向 标志就可以进行深一层的下载了。HTTP协议目前用的最多的是1.1版本,要全面透彻地搞懂它就参考RFC2616文档吧。
下面是我用C语言编程写的一个http下载程序,希望对大家有些启发。

继续阅读 »

vt100的控制符文档

vt100的控制符文档

继续阅读 »

Linux下精确到微秒级的时间操作函数

Linux下对时间进行运算,如果是到秒级的,相信大家都用过time之类的函数实现了,但要更精确些呢?到毫秒、微秒级呢?

继续阅读 »