博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
去掉调试信息
阅读量:4050 次
发布时间:2019-05-25

本文共 1127 字,大约阅读时间需要 3 分钟。

go build -ldflags "-w"  

 

o链接器有一个标志-w,它禁用DWARF调试信息生成.您可以提供链接器标志来进行工具构建命令,如下所示:

go build -ldflags '-w'

Linux / Unix平台上的另一种方法是对编译的二进制文件使用命令条.这似乎产生比上述链接器选项更小的二进制文件

 

strip -s  /usr/bin/helloworld

 

 

$gcc -o a.out main.c

$nm a.out

查看ELF信息,利用readelf:

//读取ELF header

$readelf -Wh a.out

 

Magic: 7f 45 4c 46 01 01 01 00 00 00 00 00 00 00 00 00

 

Class: ELF32

 

Data: 2's complement, little endian

 

Version: 1 (current)

 

OS/ABI: UNIX - System V

 

ABI Version: 0

 

Type: EXEC (Executable file)

 

Machine: Intel 80386

 

Version: 0x1

 

Entry point address: 0x8048320

 

Start of program headers: 52 (bytes into file)

 

Start of section headers: 4436 (bytes into file)

 

Flags: 0x0

 

Size of this header: 52 (bytes)

 

Size of program headers: 32 (bytes)

 

Number of program headers: 9

 

Size of section headers: 40 (bytes)

 

Number of section headers: 30

 

Section header string table index: 27

 

 

//读取section header

$readelf -Ws a.out

 

//读取program header

$readelf -Wl a.out

 

利用objdump -s,查看elf section内容

$objdump -s a.out

利用gdb,也可以查看符号表

详见gdb手册。https://sourceware.org/gdb/current/onlinedocs/gdb/Symbols.html#Symbols

 

 

 

ELF 文件:

 

转载摘录:

https://blog.csdn.net/zliangzliang/article/details/19439201

你可能感兴趣的文章
迭代开发过程及一些原则
查看>>
Windows IIS服务器CA认证安装
查看>>
Asp.net 中Excel通过模板导出中发布问题
查看>>
64位机器配置CA认证一些小问题
查看>>
SVN自动完全备份
查看>>
开发中的Warning原来也很有用
查看>>
Silverlight Toolkit例子代码中缺少System.Windows.Controls.Samples.Common.dll的解决办法
查看>>
项目经理培训后的一点感概
查看>>
vc学习之窗口大小发生变更时使控件自动摆放到合适的位置
查看>>
Oracle 获取系统日期时间,导出数据库
查看>>
黄巢的菊花,非常喜欢,贴出来共享一下
查看>>
在光纤环网中的b/s与c/s的比对
查看>>
根据程序名称和程序路径判断程序是否启动
查看>>
史记翻译-汉初三杰-萧何-萧相国世家第二十三
查看>>
史记翻译-汉初三杰-张良-留侯世家第二十五
查看>>
史记翻译-汉初三杰-韩信-淮阴侯列传第三十二
查看>>
帝王封赏之道和老板的封赏之道
查看>>
工作分解结构在软件开发中的应用
查看>>
关于系统崩溃后的Oracle恢复
查看>>
遭遇蚊子的獠牙,想起一种叫黄鸡婆的小虫子
查看>>