可能重复:
How do I stop the debugger from stepping into Delphi-supplied units?
我遇到以下问题:当我运行应用程序时,调试器进入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}
我看过this,但它没有帮助我。如何排除delphi源代码,只调试我的代码?
答案 0 :(得分:9)
查看Project->Options
菜单项。转到编译器选项,应该有一个设置“使用调试DCU”。确保没有选中它,你应该停止追踪标准库源。