【问题标题】:How -fomit-frame-pointer gcc option could make debugging impossible?-fomit-frame-pointer gcc 选项如何使调试变得不可能?
【发布时间】:2018-11-10 16:42:36
【问题描述】:

GCC 在线文档 - 3.10 Options That Control Optimization 确认 -fomit-frame-pointer gcc 选项可以使调试变得不可能。

-fomit-frame-pointer

不要将帧指针保存在不需要的函数的寄存器中。这避免了保存、设置和恢复帧指针的指令;它还为许多功能提供了额外的寄存器。 这也使得在某些机器上无法调试

我理解为什么在没有帧指针帮助的情况下,局部变量更难定位,堆栈跟踪更难重建。

但是,在什么情况下调试不可能

【问题讨论】:

    标签: gcc


    【解决方案1】:

    从某种意义上说,这些平台的现有工具(通常由平台供应商提供,而不是 GNU)期望帧指针存在以成功展开可能是不可能的。理论上可以将它们修改为更智能,但实际上这是不可能的。

    【讨论】:

      猜你喜欢
      • 2013-01-17
      • 1970-01-01
      • 2014-11-27
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2017-06-10
      相关资源
      最近更新 更多