Как опция -fomit-frame-pointer gcc может сделать невозможной отладку? - PullRequest
0 голосов
/ 31 мая 2018

GCC online doc - 3.10 Опции, управляющие оптимизацией подтверждают, что опция -fomit-frame-pointer gcc может сделать невозможной отладку.

-fomit-frame-pointer

Не хранить указатель кадра в регистре для функций, которые в нем не нуждаются.Это позволяет избежать инструкций по сохранению, настройке и восстановлению указателей кадров;это также делает дополнительный регистр доступным во многих функциях. Это также делает невозможной отладку на некоторых машинах .

Я понимаю, почему локальные переменные сложнее найти, а трассировать стеки гораздо сложнее восстановить без указателя кадра, чтобы выручить.

Но, при каких обстоятельствах это делает отладку невозможной ?

1 Ответ

0 голосов
/ 21 октября 2018

Это может быть невозможно в том смысле, что существующие инструменты для этих платформ (которые часто предоставляются поставщиком платформы, а не GNU) ожидают наличия указателя кадра для успешного раскручивания.Теоретически их можно изменить, чтобы они стали более разумными, но на практике это невозможно.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...