Если во время отладки вместо того, чтобы получить текущее значение переменной, вы получаете нечто невразумительное
(gdb) p a
$1 = <value optimized out>
это означает, что вы компилировали код с опциями оптимизации (например: gcc -O3
). Компилятор оптимизировал ваш код и счел, что переменная a
не нужна, поэтому вы и не можете увидеть ее значение. Из этого вовсе не следует, что данная переменная в программе не используется. Просто отключите опции оптимизации (gcc -O0
), если хотите посмотреть ее содержимое.
Отсюда правило: отлаживайте код без оптимизации.
Комментарии
comments powered by Disqus