在以前的Ubuntu版本中,gdbtui
会在附加到这样的程序后显示子进程
child process 3746 In: main
然而,由于Ubuntu 16.04调试相同的程序,显示本机进程。
native process 5002 In: main
为什么会这样,它们之间有什么区别?
答案 0 :(得分:1)
在GDB 7.8之前,各种本机目标可能有不同的名称。在许多情况下,和你的一样,名字是"孩子",但还有其他人,比如" djgpp"或" procfs"。
在GDB 7.8中,这些都被重命名为" native"。你可以看到引入它的补丁系列here。
该系列的基本原理可能有点模糊,但值得注意的是,#34;孩子"自添加attach
命令以来一直是用词不当 - 因为在这种情况下,下级不再是gdb的子项,而是一个任意的过程。新方法的一个小优点是现在所有平台的名称都是一致的。