<Optimized OUT> в gdb при отладке сбоя - PullRequest
0 голосов
/ 28 июня 2019

Рассмотрим код

func ()
{
    int a = 5;
    int b;

    while (a==5)
    {
        /*** do something **/
    }
}

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

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

1 Ответ

0 голосов
/ 29 июня 2019

Здесь переменная, оптимизируемая компилятором, имеет смысл.

Непонятно почему имеет для вас смысл.Возможно, a никогда не изменяется внутри тела цикла?

, дайте мне знать, почему оптимизируется используемая переменная

Вы не предоставили никакой релевантной информации.детали, поэтому невозможно ответить на этот вопрос.

и есть ли способ получить эту переменную в GDB.

Вероятно.Вы всегда можете «восстановить» значение переменной, изучив дизассемблирование и выполнив обратный инжиниринг оптимизаций, выполненных компилятором.

Но для этого требуется умение, и для понимания оптимизации, изная, какой код вы просматриваете (который вы не предоставили).

...