You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

使用gdb attach调试程序遇文件不存在错误及执行停滞问题求助

GDB Attach调试问题的解决思路

1. 处理attach: No such file or directory.错误

  • 验证进程有效性:执行ps -ef | grep 23224,确认进程ID是否存在,若无结果说明进程已退出或ID输入错误
  • 检查权限:如果目标进程由其他用户启动,需使用sudo gdb执行attach操作,普通用户无权限附加到其他用户的进程
  • 匹配架构:通过file /proc/23224/exe查看进程架构,确保和你的x86_64系统匹配;若进程为32位,需安装对应32位GDB组件(如gdb.i686)

2. 解决系统库“(no debugging symbols found)”问题

  • 安装调试符号包:RHEL/CentOS环境下,系统库的调试包以-debuginfo为后缀,比如安装glibc-debuginfo和glibc-debuginfo-common-x86_64来获取libc的调试符号
  • 配置自动加载:在GDB中执行set auto-load safe-path /,允许加载系统路径下的调试符号文件
  • 手动加载符号:若自动加载失效,可通过symbol-file /usr/lib/debug/lib64/libc.so.6(路径根据实际安装位置调整)指定符号文件路径

3. 解决添加断点后run停留在创建新线程的状态

  • 纠正操作逻辑:attach到已有进程后,无需执行run(run用于启动新进程),设置断点后直接执行continue让进程继续运行即可
  • 终止误启动进程:如果已经执行了run,先执行kill终止当前启动的进程,重新attach到23224后再设置断点并执行continue
  • 检查断点位置:确认断点设置在目标业务代码的有效位置(如break main或具体业务函数),避免设置在线程创建的底层系统函数上导致异常停顿

内容的提问来源于stack exchange,提问作者zhanlinmao

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.08.23 14:30:24