skiperrorproc.dpr
来自「delphi开发语言下的源代码分析」· DPR 代码 · 共 30 行
DPR
30 行
program SkipErrorProc;
{$APPTYPE CONSOLE}
{$O-}
procedure LogError(ErrorCode: Integer; ErrorAddr: Pointer);
begin
writeln('Code: ', ErrorCode, ' Addr: ', LongInt(ErrorAddr));
// 清除堆栈,返回到Error()例程调用之前
asm
{$IFOPT W+}
RET 6 * TYPE DWORD
{$ELSE}
RET 3 * TYPE DWORD
{$ENDIF}
end;
end;
var
p : Pointer;
begin
ErrorProc := @LogError;
getmem(p, 1024*1024*1024); // 试图分配过大的内存块,引发 reOutOfMemory 错误
writeln('now, to here...');
readln;
end.
⌨️ 快捷键说明
复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?