program Project1;
{$APPTYPE CONSOLE}
uses
SysUtils;
function a(i :longint): integer;
begin
a := 1 div i;
end;
procedure b(var i : longint);
begin
i := a(i);
end;
var i : longint;
begin { TODO -oUser -cConsole Main : Insert code here }
i := 0;
b(i);
writeln(i);
end.
1. Хочется получить на экран диагностику с указанием строки, в которой произошла ошибка. Например так, как это делает ТМТ:
Код
RunError #200 (division by zero)
Calls stack:
ERRORTMT.A [ERRORTMT.PAS(10) at 00000009]
ERRORTMT.B [ERRORTMT.PAS(15) at 0000000A]
ERRORTMT.ERRORTMT [ERRORTMT.PAS(21) at 0000000A]
Return code: 4
Execution time: 0.06 seconds
Press any key...
Calls stack:
ERRORTMT.A [ERRORTMT.PAS(10) at 00000009]
ERRORTMT.B [ERRORTMT.PAS(15) at 0000000A]
ERRORTMT.ERRORTMT [ERRORTMT.PAS(21) at 0000000A]
Return code: 4
Execution time: 0.06 seconds
Press any key...
2.Хочется самому получить доступ к отладочной информации. Например, получить в подпрограмме название вызывающей программы.