GDB возвращается к предыдущей строке во время отладки - PullRequest
0 голосов
/ 05 ноября 2019

Когда я введу "n", GDB проигнорирует все строки ниже строки 35 и перейдет к предыдущей строке.

Я отключил оптимизацию, добавив -O0, но проблема остается.

Breakpoint 1, other_MAIT_create (max_deno=10, MAIT_node=0x7fffffffdad0, nume=9, deno=1024, output_site=0x7fffffffdb10, 
    parent=0x7fffffffdaf0, MAIT_sign=3, save_num=0x7fffffffdab4) at create.cpp:33
33    clean_sign(MAIT_node);
(gdb) n
35    for(unsigned int i=max_deno-1;i>-1;i--)
(gdb) n
8     two_d_node node_split;
(gdb) n
7     node split_single;
(gdb) n
6     infor split_temp;
(gdb) n
93  }
(gdb) n
main (argc=1, argv=0x7fffffffdc98) at main.cpp:32
32    for(unsigned int i=2;i<number;i++)

max_deno = 10

1 Ответ

1 голос
/ 05 ноября 2019

Похоже, что GDB останавливается до того, как вызывает деструкторы объектов в стеке.

Кстати, i>-1 никогда не может быть истинным, если i равно unsigned int. То есть неправильно ожидать, что gdb переместится в тело цикла цикла for, первую строку которого мы увидим в вашем посте.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...