GDB(GNU Debugger)是一个功能强大的调试工具,可以用于调试各种编程语言。这里主要介绍Linux下gdb attach的使用(调试已在运行的进程)。
首先,在shell中调用apt list --installed | grep gdb检查是否安装GDB。(GDB安装这里就先略过)
正常安装后应该会显示类似上述内容。
然后就可以使用gdb attach命令,这里建议开启两个shell窗口,一个窗口用于启动进程,另一个使用gdb命令进行调试。
然后需要找到进程的PID,以命令:ps -ef | grep python为例(建议进程中加入类似time.sleep()这样的函数,方便调试)
-
ps -ef
:列出系统中的所有进程,并显示详细信息。-e
:显示所有用户的所有进程。-f
:使用完整格式显示,包括用户、PID、父进程、启动时间等。
-
| grep python
:从输出中筛选出与python
相关的进程。
获取相关进程的PID之后,使用gdb attach pid就会进入gdb环境进行调试,常用指令如下:
1. bt:查看函数调用栈的所有信息,当程序执行异常时,可通过此命令查看程序的调用过程;
2. info threads:显示当前进程中的线程;
3. thread id:切换到具体的线程id,一般切换到具体的线程后再执行bt等操作。
标签:python,PID,attach,gdb,进程,调试 From: https://blog.csdn.net/Kevin_XZY/article/details/143235177