Код: Выделить всё
declare
n number := 0;
begin
n := n + 1;
dbms_output.put_line('n='||n);
n := n + 1;
dbms_output.put_line('n='||n);
n := n + 1;
dbms_output.put_line('n='||n);
n := n + 1;
dbms_output.put_line('n='||n);
end;
2. Жмем "CTRL+F10" (Выполнить до курсора).
Открывается новая пустая вкладка и ничего не происходит.
На панели активна кнопка "Прервать отладку".
Лог отладки:
Код: Выделить всё
-- 12:07:20 --
BEGIN
SELECT 1
INTO :Result
FROM All_Objects
WHERE
Owner='SYS' and
Object_Name='DBMS_DEBUG' and
Object_Type='PACKAGE';
exception
when Others then
:Result:= 0;
END;
Параметры:
Result:
Время выполнения: 0,0155931828085264 секунд
-- 12:07:21 --
BEGIN
DBMS_OUTPUT.ENABLE(:BUFFER_SIZE);
END;
Параметры:
BUFFER_SIZE: 20000
Время выполнения: 0,0153482526232343 секунд
-- 12:07:21 --
ALTER SESSION SET PLSQL_DEBUG = True
Время выполнения: 0,0145948921971006 секунд
-- 12:07:21 --
DECLARE t INTEGER; BEGIN :Debug_Session_ID := DBMS_DEBUG.Initialize(NULL, 0); t := DBMS_DEBUG.SET_TIMEOUT(:timeout); DBMS_DEBUG.SET_TIMEOUT_BEHAVIOUR(DBMS_DEBUG.abort_on_timeout); END;
Параметры:
Debug_Session_ID:
timeout: 9999
Время выполнения: 0,0161416343214746 секунд
-- 12:07:21 --
BEGIN DBMS_DEBUG.Debug_On; END;
Время выполнения: 0,0149838989619763 секунд
-- 12:07:21 --
BEGIN DBMS_DEBUG.Attach_Session(:Debug_Session_ID, 0); END;
Параметры:
Debug_Session_ID: 04A78FC30001
Время выполнения: 0,0157731184479174 секунд
-- 12:07:22 --
BEGIN :timeout := DBMS_DEBUG.SET_TIMEOUT(:timeout); END;
Параметры:
timeout: 9999
Время выполнения: 0,0178910441677961 секунд
-- 12:07:22 --
declare
n number := 0;
begin
n := n + 1;
dbms_output.put_line('n='||n);
n := n + 1;
dbms_output.put_line('n='||n);
n := n + 1;
dbms_output.put_line('n='||n);
n := n + 1;
dbms_output.put_line('n='||n);
end;
Время выполнения: 0,0349839693994152 секунд
-- 12:07:22 --
DECLARE PI DBMS_DEBUG.Program_Info;
BEGIN PI.Name := :UnitName;
PI.Owner := :UnitOwner;
PI.Namespace := :NameSpace;
PI.LibunitType := :LibunitType;
PI.DbLink := '';
:Status := DBMS_DEBUG.Set_Breakpoint(PI, :LineNo, :BreakpointNo); END;
Параметры:
UnitName: tst$pkg
UnitOwner: PROTOTYPE
NameSpace: PkgBody
LibunitType: PackageBody
Status:
LineNo: 1572
BreakpointNo:
Время выполнения: 0,0155765339593301 секунд
-- 12:07:23 --
DECLARE PI DBMS_DEBUG.Program_Info;
BEGIN PI.Name := :UnitName;
PI.Owner := :UnitOwner;
PI.Namespace := :NameSpace;
PI.LibunitType := :LibunitType;
PI.DbLink := '';
:Status := DBMS_DEBUG.Set_Breakpoint(PI, :LineNo, :BreakpointNo); END;
Параметры:
UnitName:
UnitOwner:
NameSpace: Cursor
LibunitType: Cursor
Status: 0
LineNo: 5
BreakpointNo: 0
Время выполнения: 0,0228357523791045 секунд
-- 12:07:23 --
DECLARE PI DBMS_DEBUG.Program_Info;
BEGIN PI.Name := :UnitName;
PI.Owner := :UnitOwner;
PI.Namespace := :NameSpace;
PI.LibunitType := :LibunitType;
PI.DbLink := '';
:Status := DBMS_DEBUG.Set_Breakpoint(PI, :LineNo, :BreakpointNo); END;
Параметры:
UnitName:
UnitOwner:
NameSpace: Cursor
LibunitType: Cursor
Status: 0
LineNo: 4
BreakpointNo: 0
Время выполнения: 0,015481123246628 секунд
-- 12:07:23 --
DECLARE PI DBMS_DEBUG.Program_Info;
BEGIN PI.Name := :UnitName;
PI.Owner := :UnitOwner;
PI.Namespace := :NameSpace;
PI.LibunitType := :LibunitType;
PI.DbLink := '';
:Status := DBMS_DEBUG.Set_Breakpoint(PI, :LineNo, :BreakpointNo); END;
Параметры:
UnitName:
UnitOwner:
NameSpace: Cursor
LibunitType: Cursor
Status: 0
LineNo: 5
BreakpointNo: 0
Время выполнения: 0,016379200592699 секунд
-- 12:07:23 --
DECLARE
RI DBMS_DEBUG.Runtime_Info;
BEGIN
:Status:= DBMS_DEBUG.Continue(RI, :BreakFlags, 14);
:Line := RI.Line#;
:Terminated := RI.Terminated;
:Breakpoint := RI.Breakpoint;
:StackDepth := RI.StackDepth;
:InterpreterDepth := RI.InterpreterDepth;
:Reason := RI.Reason;
:LibunitType := RI.Program.LibunitType;
:NameSpace := RI.Program.NameSpace;
:Name := RI.Program.Name;
:Owner := RI.Program.Owner;
:DBLink := RI.Program.DBLink;
:EntrypointName := RI.Program.EntrypointName;
END;
Параметры:
Status:
BreakFlags: 46
Line:
Terminated:
Breakpoint:
StackDepth:
InterpreterDepth:
Reason:
LibunitType:
NameSpace:
Name:
Owner:
DBLink:
EntrypointName:
Время выполнения: 0,017732880100431 секунд
-- 12:07:23 --
DECLARE
RI DBMS_DEBUG.Runtime_Info;
BEGIN
:Status:= DBMS_DEBUG.Continue(RI, :BreakFlags, 14);
:Line := RI.Line#;
:Terminated := RI.Terminated;
:Breakpoint := RI.Breakpoint;
:StackDepth := RI.StackDepth;
:InterpreterDepth := RI.InterpreterDepth;
:Reason := RI.Reason;
:LibunitType := RI.Program.LibunitType;
:NameSpace := RI.Program.NameSpace;
:Name := RI.Program.Name;
:Owner := RI.Program.Owner;
:DBLink := RI.Program.DBLink;
:EntrypointName := RI.Program.EntrypointName;
END;
Параметры:
Status: 0
BreakFlags: 2
Line: 0
Terminated: 0
Breakpoint: 0
StackDepth: 0
InterpreterDepth: 0
Reason: 0
LibunitType: 0
NameSpace: 0
Name:
Owner:
DBLink:
EntrypointName:
Время выполнения: 0,05096046122435 секунд
-- 12:07:23 --
DECLARE
BackTrace DBMS_DEBUG.backtrace_table;
i INTEGER;
BEGIN
DBMS_DEBUG.Print_BackTrace(BackTrace);
for i in BackTrace.FIRST .. BackTrace.LAST
loop
:Name(i) := BackTrace(i).Name;
:Owner(i) := BackTrace(i).Owner;
:NameSpace(i) := BackTrace(i).NameSpace;
:Line(i) := BackTrace(i).Line#;
:LibunitType(i) := BackTrace(i).LibunitType;
end loop;
END;
Параметры:
Name: System.String[]
Owner: System.String[]
NameSpace: System.Int32[]
Line: System.Int32[]
LibunitType: System.Int32[]
Время выполнения: 0,029997318894939 секунд
-- 12:07:23 --
BEGIN :Status := DBMS_DEBUG.Delete_Breakpoint(:BreakpointNo); END;
Параметры:
Status:
BreakpointNo: 4
Время выполнения: 0,0154628735465475 секунд