ZhiBing's blog(码上看世界) ZhiBing's blog(码上看世界)
首页
  • Linux工具链

    • shell命令
  • 构建

    • CMake
    • Makefile
  • 版本管理

    • Git
    • Github
  • IDE及工具

    • vscode
    • CLion
  • 设计模式

    • 设计原则
  • 编程语言

    • C++
    • Go
    • Python
    • Shell
  • 调试

    • gdb
  • 开发者测试

    • gtest
  • 系统支撑

    • 操作系统
  • 性能优化

    • 编译优化选项
    • perf
    • valgrind
  • 容器

    • Docker
  • 微服务

    • Rancher
  • 其他
  • 随笔
  • 友情链接
收藏
  • 分类
  • 标签
  • 归档
关于
GitHub (opens new window)

ZhiBing Zheng

时间会回答成长
首页
  • Linux工具链

    • shell命令
  • 构建

    • CMake
    • Makefile
  • 版本管理

    • Git
    • Github
  • IDE及工具

    • vscode
    • CLion
  • 设计模式

    • 设计原则
  • 编程语言

    • C++
    • Go
    • Python
    • Shell
  • 调试

    • gdb
  • 开发者测试

    • gtest
  • 系统支撑

    • 操作系统
  • 性能优化

    • 编译优化选项
    • perf
    • valgrind
  • 容器

    • Docker
  • 微服务

    • Rancher
  • 其他
  • 随笔
  • 友情链接
收藏
  • 分类
  • 标签
  • 归档
关于
GitHub (opens new window)
  • 编程语言

  • 调试

    • gdb

      • 剥离调试信息生成dbg文件
      • 打印超长字符串或数组
      • 打印数组下标
  • 开发者测试

  • 系统支撑

  • 性能优化

  • 通用领域
  • 调试
  • gdb
zhengzhibing
2022-06-15

剥离调试信息生成dbg文件

# 剥离调试信息生成 dbg 文件

在实际工作环境中运行的可执行文件都是去掉了调试信息,但这并不方便定位问题,所以需要剥离调试信息生成 dbg 文件。

通过剥离二进制文件的调试信息,可以减少二进制文件的大小,同时生成的 dbg 文件也可以有助于定位问题。

只需要将对应的 dbg 文件放到剥离了调试信息的二进制文件的同级目录下,gdb 调试时就能看到相关的调试信息。

  1. 生成有调试信息的可执行文件
g++ -g main.cpp -o main
1
  1. 剥离符号生成 dbg 文件
objcopy --only-keep-debug main main.dbg
objcopy --strip-debug main
objcopy --strip-all main
objcopy --add-gnu-debuglink main.dbg main
1
2
3
4

objcopy命令是将目标文件的一部分或者全部内容拷贝到另外一个目标文件中,或者实现目标文件的格式转换。

objcopy --only-keep-debug main main.dbg: 创建包含调试信息的文件。

objcopy --strip-debug main: 剥离目标文件的调试信息。

objcopy --strip-all main: 不从源文件中复制重定位和符号信息。删除重定位和符号信息。

objcopy --add-gnu-debuglink main.dbg main: 为不含调试信息的文件关联一个调试文件。也就是将 main.dbg 和 main 关联起来。在调试时,调试器会尝试当前目录下查找单独的调试信息文件。

更多关于objcopy的信息可以查阅objcopy (GNU Binary Utilities) (sourceware.org) (opens new window)

#gdb
上次更新: 2022/06/17, 07:22:19
01安装rust
打印超长字符串或数组

← 01安装rust 打印超长字符串或数组→

最近更新
01
HPE gen10 plus 安装ESXI 7
06-12
02
ESXI 7安装黑群晖
06-12
03
ESXI 7安装win10
06-12
更多文章>
Theme by Vdoing | Copyright © 2022-2024 ZhBing Zheng | 粤ICP备2022062743号
  • 跟随系统
  • 浅色模式
  • 深色模式
  • 阅读模式