linux下的多种调试方法

我们在写程序的时候肯定会遇到调试阶段,当程序在运行的时候,我们如何调试

当一个程序陷入死循环,我们又不想终止它,而还需要调试它
我们可以使用如下命令:

1.首先查看运行进程的ID

1
ps -u

2.接着

1
启动gdb attach +(进程号)

这样我们就可以进行调试了

下来我们在看一种情况,如果gdb无法使用了怎们办呢?

我们可以使用/proc文件,它是一个伪目录,它仅在内存中,没有在磁盘上。

我们还可以使用truss,strace,ltrace调试工具来进行调试

trussstrace 用来跟踪一个进程的系统调用 (fork,vfork,exec) 和信号产生的情况 ltrace 用来跟踪一个进程调用库函数的情况。

1
2
3
-f:除了跟踪当前进程外,还跟踪子进程 fork
-o file:将输出信息写到文件file中,
-p pid:绑定到一个由pid对应的正在运行的进程中

转载自WILLBeSoSo的博客
http://blog.sina.com.cn/s/blog_e017ce840102w9yr.html