Моя программа скомпилирована с флагом -g
.У меня возникла следующая проблема:
1) Я установил точку останова в функции, которая находится в файле заголовка.
Точка останова работает.Теперь, когда я поднимаюсь на два уровня выше, это должно привести меня к C-файлу (Sizer.C: 505).Да, но я получаю множество предупреждений:
warning: (Internal error: pc 0xff6323 in read in psymtab, but not in symtab.)
warning: (Internal error: pc 0xff6324 in read in psymtab, but not in symtab.)
warning: (Internal error: pc 0xff6323 in read in psymtab, but not in symtab.)
warning: (Internal error: pc 0xff6323 in read in psymtab, but not in symtab.)
#2 0x0000000000ff6324 in SizePacketImpl<ZValue>::begin_x (this=warning: (Internal error: pc 0xff6323 in read in psymtab, but not in symtab.)
0x4888a88, bi=warning: (Internal error: pc 0xff6323 in read in psymtab, but not in symtab.)
0x56e6968) at Sizer.C:505
505 ASSERTo(...some parameters ....);
warning: (Internal error: pc 0xff6323 in read in psymtab, but not in symtab.)
2) Если я СЕЙЧАС (после перехода на два уровня вверх, когда программа находится в состоянии прерывания), попробуйте напрямую установить точку останова вSizer.C
(gdb) break Sizer.C:504
warning: (Internal error: pc 0xff6323 in read in psymtab, but not in symtab.)
Breakpoint 3 at 0xff1bc7: file Sizer.C, line 504.
warning: (Internal error: pc 0xff6323 in read in psymtab, but not in symtab.)
Программа вообще не останавливается на точке останова.
3) Просто для полноты: если я установлю точку останова в Sizer.C до запуска программы, Я не получаю предупреждений, но программа по-прежнему не прерывается.
Я хочу установить точки останова в Sizer.C.Как я могу отладить и исправить эту проблему?