Lepiej postępować konwencję VCL dla elementów zewnętrznych:
- ścieżkę wyjściową Zmień DCU we wszystkich opakowaniach zewnętrznych w innym folderze niż folderu przechowywania plików PAN.
- Skompiluj każdy pakiet raz w trybie debugowania i zapisz wygenerowane pliki DCU w folderze (np. Debugujące jednostki DCU).
- Skompiluj każdy pakiet jeszcze raz, ale tym razem w trybie zwolnienia i zapisz wygenerowane pliki DCU w folderze (np. Zwolnij DCU).
- Przejdź do opcji Delphi i dodaj ścieżkę DCU do wersji "Ścieżka biblioteki".
- W opcjach Delphi dodaj ścieżkę plików źródłowych do "Ścieżki przeglądania".
- W opcjach Delphi dodaj ścieżkę debugujących modułów DCU do "Debuguj ścieżkę DCU".
W ten sposób Delphi będzie wyświetlać tylko wersje DCU tego komponentu zewnętrznego podczas kompilowania projektu, aby debugger nie mógł wkroczyć do kodu źródłowego. Z drugiej strony, ponieważ ścieżka źródłowa jest zawarta w "Ścieżce przeglądania", możesz nadal nawigować do kodu źródłowego wewnątrz IDE przez Ctrl + Kliknij nazwę jednostki lub cokolwiek zdefiniowanego w tych jednostkach.
Jeśli chcesz debugować komponent, możesz przejść do "Project | Options | Delphi Compiler | Compiling" i włączyć "Use debug .dcus". Zmusi to kompilator do użycia "ścieżki debugowania DCU" zamiast "ścieżki biblioteki".
VCL działa tak samo, generalnie nie wkraczasz do kodu źródłowego VCL podczas debugowania projektu, ale jeśli włączysz opcję "Użyj debugowania .dcus", możesz również debugować kod źródłowy VCL.
JVCL również w ten sam sposób organizuje pakiety i kod źródłowy.
EDIT: Jeśli podejmiesz takie podejście i chcesz mieć przeglądanie kodu (Ctrl + kliknięcie) działa; proszę wziąć pod uwagę, że podczas kompilowania wersji wersji pakietów, należy ustawić Informacje odniesienia symbolu w "Projekt | Opcje | Kompilator Delphi | Kompilacja" na "Informacje referencyjne"; w przeciwnym razie Ctrl + klik nie będzie działać dla tych jednostek. Domyślnie, opcja Release build configuration ustawia Symbol Reference Info na None.
Zobacz także [Jak pominąć sekcje kodu podczas debugowania?] (Http://stackoverflow.com/questions/449159/in-delphi-how-to-skip-sections-of-code-while-debugging) –