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}

私はこれを読みました、そしてそれは私を助けませんでした。デルファイソースを除外して、自分のコードのみをデバッグするにはどうすればよいですか?

4

1 に答える 1

10

Project->Optionsメニュー項目を見てください。コンパイラオプションに移動すると、「デバッグDCUを使用する」という設定が表示されます。チェックされていないことを確認してください。標準ライブラリソースへのトレースを停止する必要があります。

于 2012-12-26T14:20:20.080 に答える