Date Редакция Категория comp Теги C / gdb

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

(gdb) p a
$1 = <value optimized out>

это означает, что вы компилировали код с опциями оптимизации (например: gcc -O3). Компилятор оптимизировал ваш код и счел, что переменная a не нужна, поэтому вы и не можете увидеть ее значение. Из этого вовсе не следует, что данная переменная в программе не используется. Просто отключите опции оптимизации (gcc -O0), если хотите посмотреть ее содержимое.

Отсюда правило: отлаживайте код без оптимизации.



Комментарии

comments powered by Disqus