GCC在线文档-3.10控制优化的选项确认-fomit-frame-指针gcc选项可以使反布格不可能。
-fomit-frame-指针
对于不需要帧指针的函数,不要将帧指针保存在寄存器中。这避免了保存、设置和恢复帧指针的指令;它还使许多函数中可以使用额外的寄存器。它还使某些机器上的调试变得不可能。
我理解为什么局部变量更难定位,堆栈跟踪在没有帧指针帮助的情况下更难重建。
但是,在什么情况下它使调试不可能?
这可能是不可能的,因为这些平台的现有工具(通常由平台供应商提供,而不是GNU)期望帧指针存在以成功展开。理论上可以修改它们以使其更智能,但实际上这是不可能的。