5

可能重复:
如何阻止调试器进入 Delphi 提供的单元?

我有以下问题:当我运行应用程序时,调试器进入 delphi 的 VCL 源。我希望它仅通过我编写的代码运行。

例子:

temp := nil;
// Here is breakpoint, after that I wanna go line-by-line, so I'm hitting F7
while (Head <> nil) do begin
   if (Head^.Next = nil) then break;
   Temp := Head^.Next;
   dispose(Head); // <- here debugger goes into [*]
end;
if (Temp <> nil) then dispose(Temp);

// [*]
procedure _Dispose(P: Pointer; TypeInfo: Pointer);
{$IFDEF PUREPASCAL}
begin
  _Finalize(P, TypeInfo);
  FreeMem(P);
end;
{$ELSE}
asm
        { ->    EAX     Pointer to object to be disposed        }
        {       EDX     Pointer to type info                    }

{$IFDEF ALIGN_STACK}
        SUB     ESP, 8
{$ENDIF ALIGN_STACK}
        PUSH    EAX
        CALL    _Finalize
        POP     EAX
{$IFDEF ALIGN_STACK}
        SUB     ESP, 4
{$ENDIF ALIGN_STACK}
        CALL    _FreeMem
{$IFDEF ALIGN_STACK}
        ADD     ESP, 12
{$ENDIF ALIGN_STACK}
end;
{$ENDIF !PUREPASCAL}

我读过这个,它对我没有帮助。如何排除delphi源,只调试我的代码?

4

1 回答 1

10

查看Project->Options菜单项。转到编译器选项,应该有一个显示“使用调试 DCU”的设置。确保它没有被选中,并且您应该停止跟踪标准库源。

于 2012-12-26T14:20:20.080 回答