为什么GDBTUI显示“本机进程”而不是“子进程”?

时间:2016-12-29 15:11:09

标签: debugging process gdb

在以前的Ubuntu版本中,gdbtui会在附加到这样的程序后显示子进程

child process 3746 In: main

gdbtui child process "child process 3746 In: main"

然而,由于Ubuntu 16.04调试相同的程序,显示本机进程

native process 5002 In: main

gdbtui native process "native process 5002 In: main"

为什么会这样,它们之间有什么区别?

1 个答案:

答案 0 :(得分:1)

在GDB 7.8之前,各种本机目标可能有不同的名称。在许多情况下,和你的一样,名字是"孩子",但还有其他人,比如" djgpp"或" procfs"。

在GDB 7.8中,这些都被重命名为" native"。你可以看到引入它的补丁系列here

该系列的基本原理可能有点模糊,但值得注意的是,#34;孩子"自添加attach命令以来一直是用词不当 - 因为在这种情况下,下级不再是gdb的子项,而是一个任意的过程。新方法的一个小优点是现在所有平台的名称都是一致的。