在gdb中如何获取当前正在调试的进程的pid?

28

在gdb中,哪个命令会提供正在调试的进程的pid?

大部分谷歌搜索结果仅讨论如何在已知pid的情况下将gdb附加到进程。

3个回答

34

有一个简单的方法是info inferior。我在使用gdb来调试自身,这个命令会显示被调试程序的PID:

(top-gdb) info inferior
  Num  Description       Executable        
* 1    process 14068     /home/tromey/gdb/build/gdb/gdb 

您也可以直接调用普通的C函数:

(top-gdb) print getpid()
$3 = 14068

请注意,如果程序未在运行,则描述将为<null>。缩写为i i - user202729
4
需要对 getpid 进行类型转换,即“print (int)getpid()”。其中的 casting 表示类型转换。 - Talespin_Kit

4

1

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接