Jak debugować błędy VCL? [duplikować]
Nie wiem, jak to robisz, ale kiedy pracuję nad nowym komponentem, aby go przetestować, tworzę go ręcznie w czasie wykonywania i przypisuję mu rodzica, więc nie muszę go instalować za każdym razem. .. Skończyłem i działa doskonale, gdy uruchamiam go w ten sposób. Ale po zainstalowaniu go w VCL i chcę umieścić go w formularzu, otrzymuję błąd „naruszenie dostępu” gdzieś w konstruktorze. Jak mogę go zdebugować, jeśli nie mam dostępu do uruchamiania go wiersz po wierszu, aby zobaczyć, gdzie to się dzieje i w jakich warunkach?
Odpowiedzi
Po zainstalowaniu komponentu w IDE zrestartuj IDE i otwórz projekt pakietu wykonawczego komponentu (musi być skompilowany w konfiguracji kompilacji do debugowania). Następnie przejdź do menu „Uruchom” IDE, wybierz podmenu „Parametry” iw polu „Aplikacja hosta” wprowadź pełną ścieżkę do środowiska Delphi IDE (coś w rodzaju „C: \ Program Files (x86) \ Embarcadero \ Studio \ 21.0 \ bin \ bds.exe ”). Następnie naciśnij klawisz F9, aby uruchomić projekt (pakiet wykonawczy) w debugerze.
Spowoduje to uruchomienie kolejnej instancji IDE. Za pomocą tego wystąpienia utwórz nowy projekt VCL i upuść komponent. Pierwsza instancja wyskakuje po dotknięciu wspomnianego naruszenia zasad dostępu.
Oczywiście przed naciśnięciem klawisza F9 możesz umieścić dowolny punkt przerwania, a następnie wykonać jeden krok przez kod, aby znaleźć błąd.
Prawdopodobnie w ten sposób można również debugować pakiet czasu projektowania składnika.