【问题标题】:Difference between a stripped binary and a non stripped binary in LinuxLinux中剥离的二进制文件和非剥离的二进制文件之间的区别
【发布时间】:2014-05-06 02:29:38
【问题描述】:

谁能解释一下Linux中剥离和非剥离二进制文件的实际区别是什么?

经过一番谷歌搜索,我发现未剥离的二进制文件包含调试信息,而剥离的二进制文件没有。

【问题讨论】:

  • 您在 Google 搜索时似乎得到了答案。您还需要了解什么?
  • @Barmar 这现在是 Google 上的最佳答案。

标签: linux binary


【解决方案1】:

虽然您已从 Google 找到答案。只是把那个,未剥离的二进制文件内置了调试信息。因此,如果您编译带有gcc's -g 标志的可执行文件,它会包含调试信息。而 Strip 二进制文件通常会从 exe 中删除这些调试信息,这对于执行来说是不必要的,以减小 exe 的大小。

【讨论】:

  • 感谢您的回复。那么,如何从使用 gcc 的 -g 标志编译的可执行文件中删除调试信息?
  • @Droider:- strip 是可以在已经编译的目标文件上运行的东西。它还具有多种命令行选项,您可以使用它们来配置将删除哪些信息。例如,-g 只去除 gcc -g 添加的调试信息。 gcc -s:从可执行文件中删除所有符号表和重定位信息。 strip:从目标文件中丢弃符号。
猜你喜欢
  • 2014-03-06
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2012-10-22
  • 1970-01-01
  • 2013-04-05
  • 2014-12-16
  • 2010-12-28
相关资源
最近更新 更多