GCC在线文档 - 3.10 Options That Control Optimization确认 -fomit-frame-pointer gcc选项可能无法进行重新布局。
-fomit帧指针
不要将帧指针保存在寄存器中以查找不需要的函数。这避免了保存,设置和恢复帧指针的指令;它还在许多功能中提供额外的寄存器。 它也使某些机器无法进行调试。
我理解为什么局部变量难以定位,如果没有框架指针来帮助重建堆栈跟踪就更难了。
但是,在什么情况下调试不可能?
答案 0 :(得分:0)
从某种意义上说,这些平台的现有工具(通常由平台供应商提供,而不是GNU提供)期望存在能够成功退出的帧指针是不可能的。从理论上讲,可以将它们修改为更智能,但实际上这是不可能的。