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

mer*_*011 15 c++ linux gdb

在gdb里面,什么命令会提供调试过程的pid?

大多数谷歌搜索结果只讨论了如何在知道pid后将gdb附加到进程.

Tom*_*mey 18

一个简单的方法是info inferior.这里我用自己调试gdb,这个命令显示调试对象的PID:

(top-gdb) info inferior
  Num  Description       Executable        
* 1    process 14068     /home/tromey/gdb/build/gdb/gdb 
Run Code Online (Sandbox Code Playgroud)

你也可以调用普通的C函数:

(top-gdb) print getpid()
$3 = 14068
Run Code Online (Sandbox Code Playgroud)

  • getpid“print (int)getpid()”需要强制转换 (4认同)
  • 还有`info prog` (2认同)