LINUX.ORG.RU
 

почему gdb не показывает локальные переменные?


0

0

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

Например:

//file.cpp
MyClass::MyClass(...) {
    ...
    int x = 0;
    x = someotherfunc(...);
    ...
}

//main.cpp
int main() {
    MyClass z(...);
    ...
}

компиляция
g++ file.cpp -ggdb3 -c
g++ main.cpp -ggdb3 -c
g++ main.o file.o -ggdb3 -o main

gdb
file main
break 3
step

Выполнение доходит до int x и дальше
print x
"No symbol x in current context"

Раньше не имел такой проблемы, а тут бац :)

ЗАСТАВЬ КОМПЬЮТЕР ПОЛИВАТЬ ОГОРОД

автоматизация своими руками: электроприборы под контролем компьютера
beware of programmers who carry screwdrivers!
http://www.unicontrollers.com/products/unc01x