01R23.pdf

(490 KB) Pobierz
Microsoft Word - PROWTP44.DOC
Jak uruchamia üRSRUQHSURJUDP\
131
-DNXUXFKDPLDü
oporne programy
,P EDUG]LHM ]áR*RQ\ SURJUDP W\PPQLHMV]D V]DQVD *H XGD&L VL RG UD]X QDSLVDü JR
EH]EáGQLH :\áDSDQLH ZV]\VWNLFK EáGyZ NRPSLODFML WR GRSLHUR SRF]WHN ]DZV]H
PR*H &L VL SU]\WUDILü G]LHOHQLH SU]H] ]HUR F]\ SUyED RWZDUFLD QLHLVWQLHMFHJR SOLNX
%áG\WH]ZDQHEáGDPLZ\NRQDQLDDQJ runtime errors V]QDF]QLHPQLHMSU]\MHPQH
i trudniejsze do XVXQLFLDRGEáGyZNRPSLODFML,FKORNDOL]DFMDZ\PDJDQDRJyáX*\FLD
VSHFMDOQHJR QDU]G]LD XUXFKRPLHQLRZHJR ]ZDQHJR ] DQJLHOVND debuggerem (czyli
RGSOXVNZLDF]HP 6\VWHP XUXFKRPLHQLRZ\ 7XUER 3DVFDOD EG]LH WHPDWHP RVWDWQLHJR
MX*UR]G]LDáXSRZLFRQHJRWH mu kompilatorowi.
Run oraz Debug , przy
F]\P ZLNV]RFL ] QLFK RGSRZLDGDM NODZLV]H VNUyWX 'R HNVSHU\PHQWyZ ] GHEXJ -
JHUHPPR*QDZ\NRU]\VWDü SUDNW\F]QLH GRZROQ\ SURJUDP FKRFLD*ZDUWR E\ ]DZLHUDá
on
GHILQLFMHSURFHGXU L ]PLHQQ\FK ORNDOQ\FK'ODQDV]\FKSRWU]HERGSRZLHGQLEG]LH
przedstawiony na stronie 62 program Bisekcja .
-DN MX*ZLHV]Z\VWSLHQLHEáGXZ\NRQDQLDSRZRGXMHSU]HUZDQLHG]LDáDQLDSURJUDPX
i ZVND]DQLH NXUVRUHP LQVWUXNFML NWyUD WHQ EáG VSRZRGRZDáD1LHVWHW\ QD RJyá LQIRU -
PDFMD WDND MHVW QLHZ\VWDUF]DMFD JG\* GR VNXWHF]QHM ORNDOL]DFML EáGXZ\PDJDQH MHVW
SU]HOHG]HQLH ]DFKRZDQLD SURJUDPX QD FR QDMPQLHM NLOND LQVWUXNFML SU]HG MHJRZ\VW -
SLHQLHP 0R*OLZRü WDN GDMH Z QRZRF]HVQ\FK QDU]G] iach uruchomieniowych tzw.
tryb krokowy SR]ZDODMF\QDZ\NRQ\ZDQLHSURJUDPXLQVWUXNFMDSRLQVWUXNFML
Turbo Pascal pozwala na krokowe wykonywanie programu na dwa sposoby, realizo-
wane odpowiednio poleceniami Trace Into i Step Over z menu Run (lub odpowiada-
MF\PLLPNODZLV]DPLF7 i F85y*QLFDSRPLG]\RE\GZRPDWU\EDPLVSURZDG]DVL
do innego sposobu traktowania procedur i funkcji: polecenie Trace Into pozwala na
ÄZHMFLH´ GR ZQWU]D SURFHGXU\ ]D Step Over Z\NRQXMH M MDNR MHGQ LQVWUXNFM
W obu przyp DGNDFK DNWXDOQLH Z\NRQ\ZDQD LQVWUXNFMD ]RVWDMH Z\Uy*QLRQD Z WHNFLH
SURJUDPX NRORURZ\P SDVNLHP $E\ Z\SUyERZDü G]LDáDQLH WU\EX NURNRZHJR
skompiluj program Bisekcja ( F9
3ROHFHQLD V\VWHPX XUXFKRPLHQLRZHJR ]JUXSRZDQH VZPHQX
L Z\NRQDM JR Z REX WU\EDFK =DXZD*WH* *H
107068090.041.png
132
Turbo Pascal programowanie
wydanie polecenia Program Reset ( C TRL -F2 ) pozwala na zrestartowanie programu, co
PR*HVLSU]\GDüJG\VLRND*H*HGDOV]HMHJRZ\NRQ\ZDQLHQLHPDVHQVX
3RZ\*V]D ZSUDZND QLH SU]\QLRVáD FK\ED *DGQ\FK QLHVSRG]LDQHN L QLHZLHOH LQIRU -
PDFML 7U\E NURNRZ\ SR]ZDODMF\ QD XVWDOHQLH GURJL MDN ÄSU]HE\ wa” wykonanie
SURJUDPX QLH GDMH *DGQ\FK ZVND]yZHN QD WHPDW ZDUWRFL SU]\MPRZDQ\FK SU]H]
]PLHQQH NWyUH Z ZLNV]RFL SU]\SDGNyZ V RGSRZLHG]LDOQH ]D VWHURZDQLH SUDF
SURJUDPX DZLF L HZHQWXDOQH NROL]MH1D V]F]FLH SRGHMU]HQLH ]DZDUWRFLZ\EUDQHM
zmienn HM MHVW EDUG]R áDWZHZ\VWDUF]\ GR WHJR SROHFHQLH Evaluate/modify ( C TRL -F4 )
z menu Debug -HJR Z\GDQLH SRZRGXMH Z\ZLHWOHQLH RNLHQND ]DZLHUDMFHJR LQIRU -
PDFMRZDUWRFL]PLHQQHMRUD]SR]ZDODMFHJRQDMHM]PLDQWDN
Rysunek 14. Pole dialogowe Evaluate and Modify
NWyUHJRZDUWRü FKFHP\ REHMU]Hü:DUWRüZ\ZLHWODQD MHVWZ SROX Result ]D
pole New value XPR*OLZLDMHM]PLDQ]F]\PMHGQDNQDOH*\QLHFRXZD*Dü
OHSLHM MHVW X*\ü SROHFHQLD
Watch ( C TRL -F7 ). Po jego wydaniu (i wpisaniu nazwy odpowiedniej zmiennej lub
wyra *HQLDZRNLHQNX Add Watch QDGROHHNUDQXSRMDZLVLRNLHQNR Watches , zawiera-
MFH ZDUWRFL OHG]RQ\FK ]PLHQQ\FK Z QDV]\P SU]\SDGNX ]PLHQQHM
Evaluate
a , czyli lewej
JUDQLF\SU]HG]LDáXSRV]XNLZDSLHUZLDVWND
Rysunek 15. Okienko Watches
3RQLHZD*SRZUyWGRRNLHQNDHG\WRUD]Z\NOHSRZRGXMHSU]\VáRQLFLHRNLHQND Watches ,
ZDUWR XSRU]GNRZDü XNáDG RNLHQHN QD HNUDQLH QS SU]HVXZDMF MH ]D SRPRFP\V]NL
OXEZ\GDMFSROHFHQLH Tile z menu Window .
'\VSRQXMF W\PL ZLDGRPRFLDPL PR*HV] MX* Z\NRU]\VWDü WU\E NUR kowy i polecenia
SRGJOGDQLD ]PLHQQ\FK GR SU]HOHG]HQLD ]DFKRZDQLD ]PLHQQHM c EGFHM ELH*F
ZDUWRFLSLHUZLDVWND
W pole Expression ZSLVXMHP\Z\UD*HQLH QS QD]Z ]PLHQQHMZ QDV]\P SU]\SDGNX
eps
&]DVDPLRND]XMHVL*HSRGHMU]DQ]PLHQQQDOH*\OHG]LüFDá\F]DV:WDNLHMV\WXDFML
]DPLDVWPDáRZ\JRGQHJR SRGJOGDQLD SROHFHQLHP
107068090.042.png 107068090.043.png
Jak uruchamia üRSRUQHSURJUDP\
133
SRZRGXMFHZ\NRQDQLHZV]\VWNLFK
LQVWUXNFML D* GR PLHMVFD ZVND]DQHJR NXUVRUHP D QDVWSQLH SU]HMFLH GR SUDF\
NURNRZHM:\NRU]\VWXMFMHPR*HV]áDWZRÄZVNRF]\ü´QSGRZQWU]DIXQNFML f(x) bez
koniecz
Go to cursor ( F4
QRFLZ\NRQ\ZDQLDLQVWUXNFMLSRSU]HG]DMF\FKMHMZ\ZRáDQLH
SRZRGXMFHJR]DWU]\PDQLHSURJUDPXSRND*GRUD]RZ\PMHJRRVLJQLFLX
1LH GRü WHJR GRGDWNRZH SDUDPHWU\ SXQNWX ZVWU]\PDQLD Condition i Pass count )
XPR*OLZLDMMHJRZDUXQNRZHZ\NRQ\ZDQLHOXE]LJQRURZDQLHRNUHORQHMOLF]E\SU]HMü
2SFMHWHX*\ZDQHVU]DGNRLQLHEG]LHP\LFKWXRPDZLDüZZLNV]RFLSU]\SDGNyZ
X*\FLH SXQNWyZ ZVWU]\PDQLD VSURZDG]D VL GR LFK XVWDZLDQLD L XVXZDQLD ]D SRPRF
klawiszy C TRL -F8 (odpowiednia instrukcja zos WDQLH Z\Uy*QLRQD Z WUHFL SURJUDPX
NRORURZ\PSDVNLHP3RGRMFLXSURJUDPXGRSXQNWXZVWU]\PDQLDQDRJyáZ\VWDUF]\
VSUDZG]Lü]DZDUWRüSRGHMU]DQHM]PLHQQHMSROHFHQLHP Evaluate lub Add Watch .
6NUyWRZHRPyZLHQLHSROHFHV\VWHPXXUXFKRPLHQLRZHJRNRF]\QDV]H wprowadzenie
GRSURJUDPRZDQLDL7XUER3DVFDOD'DOV]HZLDGRPRFL]GREG]LHV]NRU]\VWDMF]EDU -
dziej zaawansowanej literatury, a przede wszystkim na drodze praktycznej —
SLV]F
SURJUDP\3DPLWDM
.RU]\VWDQLH]NRPSXWHUDQLH]ZDOQLDRGP\ OHQLD
,P ZLNV]\ QDFLVN SRáR*\V] QD ZáDFLZH ]DSURMHNWRZDQLH UR]ZL]DQLD W\P PQLHM
F]DVX EG]LHV]PXVLDá SRZLFLü QD MHJR ]DSURJUDPRZDQLH L W\PPQLHMV]H V]DQVH *H
EG]LHV]PXVLDáRGZRá\ZDüVLGRSRPRF\URGNyZXUXFKRPLHQLRZ\FK
Powodzenia!
:SU]\SDGNXZLNV]\FKSURJUDPyZPR*HVLRND]Dü*HGRWDUFLHGRIDWDOQHMLQVWUXNFML
] Z\NRU]\VWDQLHP WU\EX NURNRZHJR MHVW ]E\W F]DVRFKáRQQ e. W takich sytuacjach
z
SRPRFSU]\FKRG]LSROHFHQLH
-HOLSRZ\*V]H F]\QQRFLPDV]Z\NRQ\ZDüZLHORNURWQLH ]QDF]QLHEDUG]LHMX*\WHF]QH
od funkcji Go to cursor RND]XMH VLSROHFHQLH Add breakpoint z menu Debug ( C TRL -
F8 ). Jego wydanie pozwala na ustawienie w miejscu wskazanym kursorem tzw. punktu
wstrzymania
107068090.044.png
Zgłoś jeśli naruszono regulamin