Локальные переменные находятся в стеке или, возможно, в регистрах. Доступ к стеку не имеет ничего общего с таблицей символов программы. Как описано в Изучение таблицы символов
Команды, описанные в этой главе, позволяют вам узнать о символах (именах переменных, функций и типов), определенных в вашей программе. Эта информация присуща тексту вашей программы и не изменяется при ее выполнении.
Локальные переменные никогда не являются постоянными в позиции, так как текущая позиция фрейма стека зависит от глубины вызова и многих других вещей. Локальные переменные просто не являются частью таблицы символов программ, поэтому вы не можете просмотреть их с помощью команды symbol
.
Вы можете увидеть, что находится в вашей таблице символов, просто вызвав nm
из вашей оболочки, возможно, в дополнение к с ++ фильтру, чтобы получить читаемые имена.
> nm|c++filt