如何在GDB脚本中关闭fork子进程后的detaching分离提示日志
GDB 禁止 fork 子进程 detach 提示日志的方法
你遇到的[Detaching after fork from child process XXXX]日志,是 GDB 默认开启的 inferior 进程事件通知,对应 fork 后自动 detach 非跟踪进程的行为,可以通过以下两种方式禁用:
场景1:保留「fork 后自动 detach 子进程」逻辑,仅关闭提示
在 GDB 脚本中添加以下配置即可:set print inferior-events off
该配置会关闭所有调试进程、子进程的生命周期事件通知,包括创建、detach、退出等提示,不会影响正常调试输出、断点命中通知。场景2:不需要自动 detach 子进程,希望同时调试父子进程
可以直接关闭 detach 行为,从根源避免对应日志生成,在脚本中添加:set detach-on-fork off
配置生效后,进程 fork 产生的父子进程都会被 GDB 持有,可通过info inferiors查看所有调试进程,使用inferior <编号>切换调试目标。
如果需要验证配置是否生效,可在 GDB 交互界面执行show print inferior-events或show detach-on-fork查看当前参数值。
内容的提问来源于stack exchange,提问作者Buflow
相关产品推荐
相关产品推荐

