Главная страница
Навигация по странице:

  • Қателердің классификациясы

  • Бағдарлама трассировкасы

  • Бағдарламаның тоқтау нүктелері

  • Run – Add Breakpoint – Source Breakpoint

  • Filename

  • Add Source Breakpoint

  • View – Debug Windows – Breakpoints

  • Properties

  • Breakpoint List

  • Айнымалы мәндерін қадағалау

  • Add Watch

  • зертханалық жұмыс №9. Зертханалы жмыс 9 Таырыбы


    Скачать 183.5 Kb.
    НазваниеЗертханалы жмыс 9 Таырыбы
    Дата14.02.2022
    Размер183.5 Kb.
    Формат файлаdocx
    Имя файлазертханалық жұмыс №9.docx
    ТипДокументы
    #361287

    Зертханалық жұмыс № 9

    Тақырыбы: Жүйені жақсартуға арналған юзабилити талаптары. Юзабилити тестілеуді жүзеге асыру. Прототип құру. Прототиптің эвристикалық бағалануы. Прототиптің юзабилити тестіленуі.

    Өңдеушіні баптау

    Өңдеушіні баптау терезесін Tools/Debugger Options командасы арқылы шақырамыз. Осы кезде көп беттен тұратын баптау терезесі пайда болады (8.1-сурет):

    8.1-сурет. Debugger Options терезесі
    Бұл терезенің басты опциясы барлық терезенің төменгі бөлігінде көрінетін, өңдеушіні іске қосатын, Integrated debugging болып табылады. Егер бұл опция өшірулі болса, онда өңдеушінің бір де бір жұмысы орындалмайтын болады.

    General бетінде өңдеушінің жұмысы кезіндегі пайдаланушы интерфейсін анықтайтын келесі опциялар орналасқан:


    Map TD32 keystrokes on run

    TD32 картасының пернелерін қосымшаны орындау барысында пайдалануға мүмкіндік береді.

    Mark buffers read-only on run

    Барлық өнделетін файлдар қосымшаны орындау барысында тек оқу үшін арналған файлдар ретінде белгіленеді. Бұл орындау барысында файлдарда бір нәрселерді өзгертуге жол бермейді. Қосымша аяқталғаннан кейін файлдар атрибуттары қалпына келтіріледі.

    Inspectors stay on top

    Өңдеушінің барлық терезелерін белсенді болмай тұрса да көрінетіндей етіп орнатады.

    Enable COM cross-process support

    COM қашықтағы серверін қадам бойынша өңдеуге жіберуге мүмкіндік береді және COM оқиғаларын оқиғалар хаттамасына қосады.

    Allow function calls in new watches

    Қадағалау терезесінде бейнеленетін өрнектердегі функцияларды шақыруға рұқсат береді. Келісім бойынша бұл опция қосулы болады.

    Rearrange editor local menu on run

    Қосымшаны орындау барысында Код Редакторының контекстік мәзірінің орнын өзгертеді, яғни орындаушымен байланысты бөліктерді жоғарыға шығарады. Бұл орындаушы командаларына қатынауды жылдамдатады.

    Debug spawned processes

    Өңделетін процестен туындаған процестерді автоматты түрде орындайды. Егер бұл опция өшірулі болса, туындаған процесстер орындалады, бірақ өңделмейді.


    Inspector Defaults тобының индикаторлары класстың мұралық элементтерін бейнелеуді (Show inherited) және модуль мен класс атын қоса алғанда, толық қасиеттер атауларын бейнелеуді (Show fully qualified names) басқарады.

    Paths тобы келесі мәндерді анықтайды:


    Debug Symbols Search Path

    Өңдеу кезінде пайдаланылатын символдар файлдары сақталатын каталог: .tds, .rsm, .dcp . Егер басқалары көрсетілмесе, онда осы файлдар .ехе орындалатын жоба файлымен бірге сақталады.

    Debug DCU Path

    Бұл опцияны пайдалану үшін жоба опцияларының (Project/Options командасы) Compile бетіндегі Use Debug DCUs опциясын да орнату керек. Осы кезде .dcu файлдары алдымен осы каталогтан ізделеді.


    Event Log беті оқиғалар туралы хабарламалар опцияларын орнатуға мүмкіндік береді . Қосымшаның орындалуын сүйемелдейтін бұл оқиғалар хаттамасын, View/Debug Windows/Event Log командасын орыйндау немесе Ctrl+Alt+E перелерін басу арқылы, орындалу барысында немесе орындалу аяқталғаннан кейін көруге болады. Осы кезде ашылған терезеде оқиға хаттамасын көресіз. Осы терезеде тышқанның оң тетігін басу арқылы осы хаттаманы файлда сақтай аласыз, түсініктеме қосып, тазарта аласыз.

    8.2-сурет. Event Log беті
    Event Log бетінің General бөлігіндегі келесі опциялар оқиғалардың бейнелену тәсілдерін анықтайды:


    Length

    Оқиға туралы хабарламаның бейнеленуінің максималды ұзындығы. Егер Unlimited опциясы таңдалған болса бұл опция жұмыс істемейді.

    Unlimited length

    Оқиғаның бейнелену ұзындығының шексіздігі.

    Clear log on run

    Өңдеудің кезекті сеансының алдында хаттаманы тазалау


    Messages бөлімінің опциялары оқиғалар хаттамасына енетін хабарламалар типтерін анықтайды:


    Breakpoint messages

    Өзіңіздің жобада қойған үзу нүктелері немесе өзгешеліктердің генерациялануы салдарынан орындалудың үзілгендігі туралы хабарлама

    Process messages

    Барлық процесстердің жүктелгендігі және аяқталғандығы туралы хабарлама

    Thread messages

    Орындалу ағымдарының құрылғандығы және жойылғандығы туралы хабарлама

    Module messages

    Модульдердің жадыға жүктелгендігі туралы хабарлама

    Output messages

    OutputDebugString функциясымен туындайтын хабарламалар

    Window messages

    Windows хабарламалары.


    Use Event Log Colors индикаторы түрлі хабарламалардың түспен ерекшеленуін қамтамасыз етеді. Төменде орналасқан терезелер ерекшелену түстерін орнатуға мүмкіндік береді. Түрлі типтегі хабарламаларды әр түрлі түстермен беру оқиғалар хаттамаларында хабарламаларды жылдам ажыратуға мүмкіндік береді.

    Language Exceptions беті (8.3-сурет) қосымшада өзгешеліктердің туындауы кезінде өңдеушінің үзілулерін басқаруға мүмкіндік береді. Stop On Delphi Exceptions опциясын өшіру, өзгешеліктер туралы хабарламаның қосымша терезесінің пайда болуымен байланысты, өңдеу кезінде тоқтаулардың болмауын қамтамасыз етеді. Басқаша айтқанда, қосымша өңдеу барысында кәдімгі жүктелген кездегідей жұмыс істейді.

    8.3-сурет. Language Exceptions беті
    Егер Stop On Delphi Exceptions опциясы қосылған болса, Exception Types to Ignore терезесінде келтірілген және индекаторларына жалаушалар орнатылған өзгешеліктерден басқа, кез келген өзгешеліктерде тоқтаулар болатын болады. Add батырмасының көмегімен тізімге басқа да өзгешеліктерді де қосуға болады. Мысалы, егер өзгешеліктер тізіміне EmathEror қоссаңыз, онда қосымшалар отладка барысында нольге бөлу, толып кету және т.б. кезінде тоқтамайтын болады.

    Remove батырмасы ерекшеленген өзгешелікті тізімнен өшіруге мүмкіндік береді.

    OS Exceptions беті (8.4-сурет) өзгешеліктерді өндеу опцияларын анықтайды. Беттің жоғарғы бөлігінде өзгешеліктер тізімі орналасқан. Add батырмасын пайдаланып осы тізімге өз өзгешеліктеріңізді қоса аласыз. Remove батырмасы тізімнен өзгешеліктерді өшіруге көмектеседі. Бірақ пайдаланушымен анықталған өзгешеліктерді ғана өшіруге болады. Delphi-де алдын ала орнатылған өзгешеліктер үшін Remove батырмасы жұмыс істемейді.


    8.4-сурет. OS Exceptions беті
    Handled By радиобатырмалары өзгешеліктердің немен өнделетіндігін анықтайды: Debugger – өңдеуші, User Program –пайдаланушы бағдарламасы. On Resume радиобатырмалары Delphi өзгешеліктерді өндеуді жалғастырады ма (Run Handled) немесе жалғастырмайды ма (Run Unhandled) екендігін анықтайды. Debugger батырмасын таңдаған кезде осы өзгешеліктің қасында қызыл дөңгелек пайда болады, ал Run Handled батырмасын таңдағанда жасыл бағыттауыш пайда болады.

    Қателердің классификациясы

    Бағдарламада кездесетін қателер үш топқа бөлінеді:

    • синтаксистік;

    • орындау уақытындағы қателер;

    • алгоритмдік;

    Синтаксистік қателер, оларды компиляция уақытындағы қателер (Compile-time error) деп те атайды, оңай жөнделеді. Оларды компилятор тауып береді, ал бағдарламаны құрушыға бағдарлама мәтініне өзгерістер енгізіп, қайтадан компиляцияға жіберу ғана қалады.

    Орындау уақытындағы қателер Delphi –де олар өзгешеліктер (exception) деп аталады, бұл қателер де оңай жөнделеді. Олар әдетте алғашқы орындауға жіберген кезде және тестілеу кезінде байқалады.

    Delphi –ден жіберілген бағдарламада қателер туындаған кезде, бағдарлама жұмысы тоқтайды да, яғни Delphi-дің басты терезесінің тақырыбында жақша ішінде Stopped жазуы пайда болады, және экранда қате мен оның типі (класс) туралы ақпараттан тұратын хабарламадан тұратын диалогтық терезе пайда болады. 8.5-суретте жоқ файлды ашуға тырысқан кезде туындаған қате туралы хабарлама мысалы келтірілген.

    Қате туындаған кезде бағдарламашы бағдарламаның орындалуын тоқтатады (ол үшін Run мәзірінен Program Reset командасын таңдау керек) немесе оны, мысалы, әрбір нұсқаулықтың орындалу нәтижесін қадағалай отырып, қадам бойынша орындауды жалғастырады (ол үшін Run мәзірінен Step командасын орындау керек).


    8.5-сурет. Жоқ файлды ашуға тырысқан кезде туындаған қате туралы хабарлама
    Егер бағдарлама Windows-тан жіберілген кезде де қате туындағанда экранда қате туралы хабарлама пайда болады, бірақ қате типі (өзгешеліктер) көрсетілмейді (8.6-сурет). ОК батырмасын басқан кезде бағдарлама жұмысы жалғасады.

    8.6-сурет. Қате типі көрсетілмеген хабарлама
    Ал алгоритмдік қателермен барлығы басқаша. Алгоритмдік қатесі бар бағдарлама компиляциясы сәтті аяқталады. Сынау үшін орындаған кезде бағдарлама дұрыс жұмыс істейді, бірақ нәтижені талдаған кезде ол дұрыс болмай шығады. Алгоритмдік қатені түзету үшін алгоритмді талдауға, оның орындалуын қолмен айналдырып шығуға тура келеді.
    Өңдеуші

    Delphi ортасы бағдарламашыға қателерді іздеу мен оларды жөндеудің мықты құралын – өңдеушіні ұсынады. Өңдеуші бағдарламаның трассировкасын орындауға, айнымалылар мәндерін қадағалауға, бағдарламаның шығаратын мәндерін бақылауға мүмкіндік береді.

    Бағдарлама трассировкасы

    Бағдарлама дұрыс жұмыс істемей тұрған кезде нұсқаулардың шынайы орындалу ретін көру қажет болады. Бұны бағдарлама трассировкасын орындау арқылы жасауға болады. Трассировка – бұл бағдарламаны қадаммен (step-by-step), нұсқадан кейін нұсқану орындау процесі болып табылады. Трассировка барысында бағдарламашы бағдарламаның кезекті нұсқасын орындауға бұйрық береді.

    Delphi екі трассировка режимін ұсынады, олар: процедураға кірмей (Step over) және процедураға кіре отырып (Trace into). Процедураға кірмей трассировка жасау режимі тек басты процедураның трассировкасын ғана орындайды, ал ішкі программа трассировкасы орындалмайды, барлық ішкі программа бір қадаммен орындалады. Процедураға кіре отырып трассировка жасау редимінде программаның толық трассировкасы орындалады, яғни қадаммен тек басты программа ғана емес, барлық ішкі программалар да орындалады.

    Тарссировканы бастау үшін Run мәзірінен Step over немесе Trace into командасын таңдау керек. Нәтижесінде код редакторы терезесінде бағдарламаның бірінші нұсқаулығы орындалады. Ерекшеленген нұсқаулықты орындау үшін, Run мәзірінен Step over ( пернесін басу) немесе Trace into ( пернесін басу) командаларын орындау керек. Бұл нұсқаулық орындалғаннан кейін келесі нұсқаулық ерекшеленетін болады. Осылайша Run мәзірінен қажет команданы таңдай отырып, бағдарлама трассировкасын орындауға болады.

    Кез келген уақытта трассировканы аяқтап бағдарламаның шынайы қарқындағы орындалуын жалғастыруға болады. Ол үшін Run мәзірінен Run командасын таңдау керек.

    Бағдарлама бөлігінің трассировкасын орындау үшін меңзерді трассировка басталуы керек бағдарлама нұсқаулығына апарып қойып, Run мәзірінен Run to cursor командасын таңдау керек немесе пернесін басу керек. Сосын немесе пернесін басу арқылы бағдарламаның қажетті үзіндісін трассировка жасауға болады.

    Трассировка барысында бағдарлама нұсқаулықтарының орындалу ретін ғана қадағалап қоймай, айнымалылар мәндерінін өзгерісін де қадағалауға болады.

    Бағдарламаның тоқтау нүктелері

    Өңдеу барысында тоқтау нүктелері әдісі кең қолданылады. Бұл әдістің мәні мынада, бағдарламашы бағдарламаның кейбір нұсқаулықтарын белгілейді (тоқтау нүктелерін қояды), осы нүктелерге жеткен кезде бағдарлама өз жұмысын тоқтатады және бағдарламашы осы жерден бастап трассировканы бастай алады немесе айнымалылар мәндерін қадағалай алады.

    Бағдарламаға тоқтау нүктелерін қою үшін Run – Add Breakpoint – Source Breakpoint командаларын орындау керек.

    Нәтижесінде Add Source Breakpoint диалогтық терезесі ашылады (8.7-сурет), осы жерде қосылатын тоқтау нүктесі туралы ақпараттар шығарылады. Filename өрісі тоқтау нүктесі қосылатын бағдарлама файлы атауын қамтиды, Line number өрісінде тоқтау нүктесі қосылатын бағдарлама жолының нөмірі көрсетіледі.

    ОК батырмасын шеркеннен кейін тоқтау нүктесі бағдарламаға қосылады, ал тоқтау нүктесі қойылған жол қызыл нүктемен белгіленіп, осы жол басқа түспен ерекшеленеді (8.8-сурет).

    8.7-сурет. Add Source Breakpoint диалогтық терезесі
    Тоқтау нүктесін қажет бағдарлама нұсқаулығынын алдында тұрған көк түсті нүктені шеру арқылы да орнатуға болады (егер бағдарламада қате болмаса компилятор орындалатын нұсқаулықтарды көк түсті нүктелермен белгілейді).

    8.8-сурет. Тоқтау нүктесі
    Тоқтау нүктелеріне шарт та қосуға болады, яғни осы шарт орындалған кезде бағдарлама өз жұмысын осы нүктеде тоқтатады (мысалы, егер айнымалы мәні белгілі бір шамаға тең болса). Шарт (логикалық өрнек) Add Source Breakpoint диалогтық терезесінің Condition өрісіне енгізіледі.

    Егер тоқтау нүктесіне шарт қойылған болса, онда бағдарлама өз жұмысын Condition өрісіндегі өрнек мәні ақиқат болғанда ғана тоқтатады.

    Сонымен қоса тоқтау нүктесін өткізіп жіберу санын да беруге болады. Егер бағдарламаға тоқтау нүктесін қосқан кезде Add Source Breakpoint диалогтық терезесінің Pass count (өткізіп жіберу саны) өрісіне нөлден өзгеше сан жазатын болсақ, онда тоқтау нүктесімен белгіленген жолдағы нұсқаулық көрсетілген сан рет орындалғаннан кейін ғана, бағдарлама өз жұмысын осы нүктеде тоқтатады.

    Тоқтау нүктелерінің сипаттамаларын өзгертуге болады. Ол үшін View – Debug WindowsBreakpoints командаларын орындау керек. Ашылған Breakpoint List диалогтық терезеде (8.9-сурет) қажет тоқтау нүктесі туралы ақпараттан тұратын жолды тышқаннын оң жақ тетігімен шертіп, контекстік мәзірден Properties командасын таңдау керек. Нәтижесінде диалогтық терезесі ашылады, осы жерде қажет сипаттамаларды, мысалы шартын (Condition өрісі) өзгертуге болады. Осы контекстік мәзірді пайдаланып, тоқтау нүктесі орнатылған нұсқаулыққа жылдам өтуге болады, ол үшін Edit Source командасын таңдау жеткілікті.

    8.9-сурет. Breakpoint List диалогтық терезесі
    Тоқтау нүктесін жою үшін Breakpoint List диалогтық терезесінде қажет тоқтау нүктесінің ақпаратынан тұратын жолды тышқанның оң тетігімен шертіп, пайда болған контекстік мәзірден Delete командасын таңдау керек. Сонымен қоса код редакторындағы тоқтау нүктесі орналасқан жолды белгілейтін қызыл нүктені шертсе де жеткілікті.

    Айнымалы мәндерін қадағалау

    Өңдеу барысында, бағдарламаны қадаммен орындау барысында көбіне белгілі бір айнымалы мәні неге тең екендігін біліп отыру пайдалы болады. Ол үшін сол айнымалы атын қадағаланатын элементтер тізіміне (Watch List) қосу керек. Ол үшін Run мәзірінен Add Watch (Қадағаланатын элемент қосу) командасын таңдап, пайда болған Watch Properties диалогтық терезесінің Expression өрісіне айнымалы атын енгізу керек (8.10-сурет).

    Нәтижесінде Watch List диалогтық терезесіндегі (8.11-сурет) тізімге жаңа элемент қосылатын болады. Бағдарлама айнымалылары бағдарламаның орындалуы барысында ғана бар (және сәйкесінше қол жетімді) болатындықтан, айнымалы атынан кейін process not accessible (процесс қол жетімді емес) хабарламасы пайда болады

    8.10-сурет. Watch Properties диалогтық терезесі

    8.11-сурет. Watch List диалогтық терезесі
    Айнымалы атын Watch List тізіміне қоспай-ақ оның мәнін қадағалауға болады. Ол үшін бағдарлама тоқтау нүктесіне келіп жеткен кезде, код редакторы терезесі пайда болады, осы кезде тексеру керек айнымалы атына меңзерді апарып кою керек. Осы кезде код редакторы терезесінде айнымалы мәні көрсетілген көмек терезесі пайда болады (8.12-сурет).

    Бағдарламаны қадаммен орындау процессін аяқтау үшін Run мәзірінен Program Reset командасын таңдау керек.

    8.12-сурет. Көмек терезесі


    написать администратору сайта