使用 GNAT Pro 6.3.1 在 Windows 上运行(我意识到这对你来说不是一个理想的数据点!)这很好用。
我确实注意到,当我在子程序规范中请求一个 bp 时,GDB 有效地设置了两个 bp,一个在规范中,一个在第一个语句中:所以,给定
package body Protected_Object is
protected body PO is
procedure Put (V : Integer) is
begin
Value := V;
end Put;
function Get return Integer is
begin
return Value;
end Get;
end PO;
end Protected_Object;
GDB 控制台说 (for Put
)
gdb) break protected_object.adb:4
Breakpoint 1 at 0x401729: file protected_object.adb, line 6. (2 locations)
在运行时,果然有 2 个中断:
Breakpoint 1, <protected_object__po__putP> (<_object>=..., v=42) at protected_object.adb:4
(gdb) cont
Breakpoint 1, protected_object.po.put (<_object>=..., v=42) at protected_object.adb:6
版本:GNAT Pro 6.3.1 (20100112) [rev:158983] 的 GNU gdb (GDB) 7.0.1