Aktualnie podczas debugowania programów używając F7, pod koniec procedury Lazarus wchodzi do plików z RTL (fpc_finalize
i cała reszta tych funkcji) - w jaki sposób to wyłączyć, aby debugowany był tylko kod napisany przeze mnie?
usuń ścieżki do źródeł RTLa
Jest różnica pomiędzy F7 step into a F8 step over, ale po więcej odsyłem np. tu: Debugowanie dotyczy delphi, ale Lazarus trzyma kompatybilność i powinno być podobnie.
abrakadaber napisał(a):
usuń ścieżki do źródeł RTLa
Usuwając ścieżkę Katalog źródeł FPC
w ustawieniach IDE, przestaje działać uzupełnianie kodu, lecz wciąż wchodzi mi do tych plików.
szopenfx napisał(a):
Jest różnica pomiędzy F7 step into a F8 step over, ale po więcej odsyłem np. tu: Debugowanie dotyczy delphi, ale Lazarus trzyma kompatybilność i powinno być podobnie.
Przecież wiem :|
Ale nie zamierzam skakać po kodzie i ustawiać setek tymczasowych czujek, zwłaszcza że kiedyś jeszcze to działało normalnie.
Po co masz wchodzić w funkcje, nawet swoje jeśli wiesz, że są np. przetestowane? F8 i pomijasz sobie kod bez wchodzenia w np. IntToStr. Step Into tylko w wyjątkowych sytuacjach jeśli chcesz zejść poziom niżej. Trzymanie cały czas F7 jest bez sensu.
Zdaję sobie z tego sprawę, lecz rozpatrz taki przykład:
FunkcjaX(FunkcjaA(), FunkcjaB());
Bez ustawiania czujek i/lub używania F7
, nie da rady wejść do FunkcjaX
- a jeżeli po drodze w FunkcjaA
i/lub FunkcjaB
używane są rekordy lub stringi, Lazarus wchodzi do kodu RTL.
(przy czym breakpointy są o tyle niewygodne, że musiałbym zatrzymać wykonywanie na tej linijce, skoczyć do FunkcjaX
(ponieważ jest też wywoływana wcześniej), ustawić breakpoint, F8
/F9
, pozbyć się breakpointu i od nowa za każdym razem)