[ Pobierz całość w formacie PDF ]
.Opcje debuggeraOpcje debuggera mog¹ byæ ustawiane na dwóch poziomach: projektu i œrodowiska.Opcje na poziomie projektu by³y omawiane w poprzednim rozdziale, w sekcjach„Strona Compiler” i „Strona Linker”.Opcje ustawiane na poziomie globalnymznajduj¹ siê w oknie ustawieñ debuggera (Debugger Options).W celu wywo³aniatego okna nale¿y wybraæ polecenie menu Tools½Debugger Options.U do³u tego okna znajduje siê pole wyboru Integrated debugging.Opcja tadecyduje o tym, czy do wykrywania b³êdów stosowany bêdzie debugger œrodowiskaIDE.Przy wy³¹czonej opcji Integrated debugging zintegrowany debugger nie jestu¿ywany.Oznacza to, ¿e po klikniêciu przycisku Run program zostanieuruchomiony, ale, ze wzglêdu na nieaktywnoœæ debuggera, nie bêd¹ funkcjonowaæ¿adne punkty przerwañ.Okno opcji debuggera sk³ada siê z czterech zak³adek: General, Event Log,Language Exceptions i OS Exceptions.Ka¿da z tych zak³adek jest omawiana wdalszych sekcjach.Strona GeneralStrona General (rysunek 10.14) umo¿liwia modyfikacjê ogólnych ustawieñdebuggera.Rysunek 10.14.Strona General w oknie opcji debuggeraOpcja Map TD32 keystrokes on run nakazuje Edytorowi Kodu stosowanie trybumapowania naciœniêtych klawiszy zgodnego z zewnêtrznym Turbo Debuggerem firmyBorland.Cecha ta ma szczególne znaczenie dla osób, które spêdzi³y du¿o czasu ztym programem s¹ przyzwyczajone do stosowanych w nim kombinacji klawiszy.Opcja Make buffers read-only on run ustawia bufory Edytora Kodu w stan „tylkodo odczytu” w trakcie pracy programu pod kontrol¹ debuggera.W wyniku tego porozpoczêciu sesji debuggera nie ma mo¿liwoœci edycji kodu Ÿród³owego, a¿ domomentu zakoñczenia programu.Ja zawsze wy³¹czam tê opcjê, poniewa¿, w trakcieposzukiwania b³êdów, regularnie dokonujê modyfikacji w kodzie.Pole wyboru Inspectors stay on top okreœla, czy okna Inspektora Œledzeniapowinny znajdowaæ siê na wierzchu wzglêdem Edytora Kodu.Jest dobra cecha,poniewa¿ podczas pracy krokowej bêdziesz prawdopodobnie chcia³ mieæ wszystkieokna Inspektora na wierzchu.Opcja Rearrange editor local menu on run powoduje zmianê organizacji menukontekstowego Edytora Kodu podczas pracy programu pod kontrol¹ debuggera.Kiedyopcja ta jest aktywna, polecenia menu kontekstowego specyficzne dla procesuwykrywania b³êdów s¹ przesuwane na szczyt tego menu, dziêki czemu ³atwiej mo¿naje znaleŸæ.Strona Event LogStrona Event Log umo¿liwia modyfikacjê opcji dziennika zdarzeñ.Mo¿esz okreœliæmaksymaln¹ liczbê komunikatów, jaka ma prawo pojawiæ siê jednoczeœnie wdzienniku zdarzeñ lub pozostawiæ tê liczbê na poziomie nieograniczonym.Dozwolone jest równie¿ okreœlenie rodzaju komunikatów, jakie powinny pojawiaæsiê w dzienniku.Strona Language ExceptionsStrona Language Exceptions pozwala okreœliæ typy wyj¹tków VCL, które powinnybyæ wy³apywane przez debugger (wyj¹tki omawiane s¹ w rozdziale 14.„Programowanie zaawansowane”).Najwa¿niejszym elementem tej strony jest opcjaStop on Delphi Exceptions.Jej w³¹czenie powoduje zatrzymywanie programu przezdebugger, kiedy wygenerowany zostanie wyj¹tek.Kiedy opcja ta jest wy³¹czona,wyj¹tek VCL jest obs³ugiwany w zwyk³y sposób – przez okno dialogowe informuj¹ceu¿ytkownika o niepoprawnej sytuacji jaka wyst¹pi³a w programie.Przy w³¹czonej opcji Stop on Delphi Exceptions debugger zatrzymuje wykonanieprogramu po wyst¹pieniu wyj¹tku nawet wtedy, gdy jest on obs³ugiwany przez Twójprogram.Je¿eli nie chcesz, aby debugger zatrzymywa³ siê przy ka¿dym wyj¹tku,wy³¹cz tê opcjê.Opcja ta stanowi nastêpstwo opcji Break on exceptionstosowanej w poprzednich wersjach Delphi.Opcja Exception Types to Ignore okreœla typy wyj¹tków, które maj¹ byæignorowane przez debugger.Wszelkie klasy wyj¹tków umieszczone na tej liœciebêd¹ pomijane przez debugger i obs³ugiwane w sposób standardowy.Opcja tafaktycznie jest równowa¿na wy³¹czeniu opcji Stop on Delphi Exceptions dlawybranych typów wyj¹tków.Aby dodaæ typ wyj¹tku do listy, wystarczy klikn¹æ na przycisku Add i wpisaænazwê klasy wyj¹tków.Na przyk³ad, aby nakazaæ debuggerowi ignorowanie wyj¹tkówdzielenia przez zero, nale¿y klikn¹æ na przycisku Add, a nastêpnie wpisaæwartoœæ EDivByZero w pole Exception Type.Proces ten zosta³ przedstawiony narysunku 10.15.Typ wyj¹tku dodany do tej listy bêdzie obowi¹zywa³ dla wszystkich projektów(równie¿ tych nowo tworzonych).Strona OS ExceptionsStrona OS Exceptions (rysunek 10.16) okreœla, czy wyj¹tki systemu operacyjnegos¹ obs³ugiwane przez debugger, czy te¿ przez program u¿ytkownika.Je¿eli w sekcji Handled By ustawiona jest opcja User Program, program jestzatrzymywany przez debuggera w chwili wyst¹pienia wyj¹tku.W przypadku aktywnejopcji Debugger wyj¹tek VCL jest obs³ugiwany w standardowy sposób – przezwyœwietlenie okna informacyjnego z komunikatem informuj¹cym u¿ytkownika onieprawid³owoœci, jaka wyst¹pi³a w programie.Rysunek 10.15.Dodawanie elementu do listy wyj¹tków ignorowanych przez debuggerRysunek 10.16.Strona OS ExceptionsPrzy aktywnej opcji Debugger (w sekcji Handled By), debugger zatrzymuje siêprzy wyst¹pieniu wyj¹tku, nawet je¿eli wyj¹tek ten jest obs³ugiwany przez Twójprogram.Je¿eli nie chcesz, aby program zatrzymywany by³ przy ka¿dymwyst¹pieniu wyj¹tku, uaktywnij pole opcji User Program.Opcja ta zast¹pi³aspotykan¹ w poprzednich wersjach opcjê Break on exception.Opcja On Resume okreœla sposób potraktowania wyj¹tku po wznowieniu wykonaniaprogramu, poprzedzonego wyst¹pieniem tego wyj¹tku.Lista Exception zawiera listê mo¿liwych wyj¹tków systemu operacyjnego.Abyustawiæ opcjê dla okreœlonego wyj¹tku, trzeba wybraæ go na liœcie, a nastêpniedokonaæ odpowiednich ustawieñ w sekcjach Handled By i On Resume.Ikony naprawym marginesie listy wskazuj¹ wybrane opcje obs³ugi i wznawiania.PodsumowanieWykrywanie b³êdów to nigdy nie koñcz¹ce siê zadanie.Termin „debugging” oznaczaznacznie wiêcej ni¿ tylko œledzenie b³êdów w programie.Zmyœlni programiœciucz¹ siê stosowaæ debugger ju¿ od samego pocz¹tku nowego projektu.Mo¿napowiedzieæ, ¿e debugger w równym stopniu s³u¿y wykrywaniu b³êdów i rozwijaniuoprogramowania.Po przestudiowaniu tego rozdzia³u powinieneœ przyswoiæ sobiepodstawy u¿ytkowania debuggera.Oprócz tego bêdziesz musia³ jeszcze spêdziætrochê czasu na rzeczywistej pracy z debuggerem, aby nabraæ wprawy.Niemniejjednak teraz wiesz ju¿ od czego zacz¹æ.WarsztatWarsztat sk³ada siê z pytañ kontrolnych oraz æwiczeñ utrwalaj¹cych ipog³êbiaj¹cych zdobyt¹ wiedzê.Odpowiedzi do pytañ mo¿esz znaleŸæ w dodatku A.Pytania i odpowiedzi* Mój program, uruchamiany pod kontrol¹ œrodowiska IDE dzia³a³ z normaln¹szybkoœci¹ [ Pobierz caÅ‚ość w formacie PDF ]

  • zanotowane.pl
  • doc.pisz.pl
  • pdf.pisz.pl
  • orla.opx.pl