Я пытаюсь отладить программу Ada
с gdb
.В частности, я пытаюсь поместить точку останова в функцию, подобную следующей:
function Moment(OC: Object'Class) return Float is
begin
return OC.X_Coord * OC.Area;
end Moment;
Я могу поставить точку останова, и выполнение остановится, когда она будет достигнута.Моя проблема в том, что, когда я использую представление исходного кода GDB (с wh
), я не могу видеть исходный код.
Я подозревал, что это вызвано gnatmake
, что встраивает описанную функциюдаже если я применю опции -O0 -g
.Для проверки я попытался добавить вызов Put_Line
, чтобы остановить gnatmake, встроенный в мою функцию, и это сработало: с помощью следующей функции я могу остановить выполнение и увидеть исходный код:
function Moment(OC: Object'Class) return Float is
begin
Put_Line("ASDASD");
return OC.X_Coord * OC.Area;
end Moment;
Как мне остановить gnatmake
функции встраивания?