Поддерживать
www.wikidata.ru-ru.nina.az
Otla dka etap razrabotki kompyuternoj programmy na kotorom obnaruzhivayut lokalizuyut i ustranyayut oshibki Chtoby ponyat gde voznikla oshibka prihoditsya uznavat tekushie znacheniya peremennyh vyyasnyat po kakomu puti vypolnyalas programma Zapis v zhurnale kompyutera iz Mark II s motylkom prikleennym k stranice Sushestvuyut dve vzaimodopolnyayushie tehnologii otladki Ispolzovanie otladchikov programm kotorye vklyuchayut v sebya polzovatelskij interfejs dlya poshagovogo vypolneniya programmy operator za operatorom funkciya za funkciej s ostanovkami na nekotoryh strokah ishodnogo koda ili pri dostizhenii opredelyonnogo usloviya Vyvod tekushego sostoyaniya programmy s pomoshyu raspolozhennyh v kriticheskih tochkah programmy operatorov vyvoda na ekran printer gromkogovoritel ili v fajl Vyvod otladochnyh svedenij v fajl nazyvaetsya zhurnalirovaniem Mesto otladki v cikle razrabotki programmyTipichnyj cikl razrabotki za vremya zhizni programmy mnogokratno povtoryayushijsya vyglyadit primerno tak Programmirovanie vnesenie v programmu novoj funkcionalnosti ispravlenie sushestvuyushih oshibok Testirovanie ruchnoe ili avtomatizirovannoe programmistom testirovshikom ili polzovatelem dymovoe v rezhime chyornogo yashika ili modulnoe obnaruzhenie fakta oshibki Vosproizvedenie oshibki vyyasnenie uslovij pri kotoryh oshibka sluchilas Eto mozhet okazatsya neprostoj zadachej pri programmirovanii parallelnyh processov i pri nekotoryh neobychnyh oshibkah izvestnyh kak gejzenbagi Otladka obnaruzhenie prichiny oshibki InstrumentyOtladka chasto trebuet vysokoj kvalifikacii i znachitelnyh resursov Sposobnosti programmista k otladke vazhnyj faktor v obnaruzhenii istochnika problemy no slozhnost otladki silno zavisit ot ispolzuemogo yazyka programmirovaniya i instrumentov v chastnosti otladchikov Instrumenty otladki Otladchik eto programmnyj instrument pozvolyayushij programmistu nablyudat za vypolneniem issleduemoj programmy ostanavlivat i perezapuskat eyo progonyat v zamedlennom tempe izmenyat znacheniya v pamyati i dazhe v nekotoryh sluchayah vozvrashat nazad po vremeni Takzhe poleznymi instrumentami v rukah programmista mogut okazatsya Profilirovshiki Oni pozvolyat opredelit skolko vremeni vypolnyaetsya tot ili inoj uchastok koda Analiz pokrytiya pozvolyaet vyyavit neispolnyaemye uchastki koda API loggery pozvolyayut otsledit vzaimodejstvie programmy i Windows API pri pomoshi zapisi soobshenij Windows v log Dizassemblery pozvolyayut posmotret assemblernyj kod ispolnyaemogo fajla Sniffery pomogut otsledit setevoj trafik generiruemyj programmoj Sniffery apparatnyh interfejsov pozvolyayut uvidet dannye kotorymi obmenivayutsya sistema i ustrojstvo Logi sistemy Ispolzovanie yazykov programmirovaniya vysokogo urovnya obychno uproshaet otladku esli takie yazyki soderzhat naprimer sredstva obrabotki isklyuchenij silno oblegchayushie poisk istochnika problemy V nizkourovnevyh yazykah oshibki mogut privodit k nezametnym problemam naprimer povrezhdeniyam pamyati i utechkam pamyati Togda byvaet dovolno trudno opredelit chto stalo pervonachalnoj prichinoj oshibki V etih sluchayah mogut potrebovatsya slozhnye priyomy i sredstva otladki Nash lichnyj vybor staratsya ne ispolzovat otladchiki krome kak dlya prosmotra steka vyzovov ili zhe znachenij pary peremennyh Odna iz prichin etogo zaklyuchaetsya v tom chto ochen legko poteryatsya v detalyah slozhnyh struktur dannyh i putej ispolneniya programmy My schitaem poshagovyj prohod po programme menee produktivnym chem usilennye razmyshleniya i kod proveryayushij sam sebya v kriticheskih tochkah Shyolkane po operatoram zanimaet bolshe vremeni chem prosmotr soobshenij operatorov vydachi otladochnoj informacii rasstavlennyh v kriticheskih tochkah Bystree reshit kuda pomestit operator otladochnoj vydachi chem prohodit shag za shagom kriticheskie uchastki koda dazhe predpolagaya chto my znaem gde nahodyatsya takie uchastki Bolee vazhno to chto otladochnye operatory sohranyayutsya v programme a sessii otladchika perehodyashi Slepoe bluzhdanie v otladchike skoree vsego neproduktivno Poleznee ispolzovat otladchik chtoby vyyasnit sostoyanie programmy v kotorom ona sovershaet oshibku zatem podumat o tom kak takoe sostoyanie moglo vozniknut Otladchiki mogut byt slozhnymi i zaputannymi programmami osobenno dlya novichkov u kotoryh oni vyzovut skoree nedoumenie chem prinesut kakuyu libo polzu Otladka slozhna i mozhet zanimat nepredskazuemo dolgoe vremya poetomu cel v tom chtoby minovat bolshuyu eyo chast Tehnicheskie priyomy kotorye pomogut umenshit vremya otladki vklyuchayut horoshij dizajn horoshij stil proverku granichnyh uslovij proverku pravilnosti ishodnyh utverzhdenij i razumnosti koda horosho razrabotannye interfejsy ogranichennoe ispolzovanie globalnyh peremennyh avtomaticheskie sredstva kontrolya i proverki Gramm profilaktiki stoit tonny lecheniya Brajan Kernigan i Rob Pajk Instrumenty snizhayushie potrebnost v otladke Drugoe napravlenie sdelat chtoby otladka nuzhna byla kak mozhno rezhe Dlya etogo primenyayutsya Kontraktnoe programmirovanie chtoby programmist podtverzhdal drugim putyom chto emu na vyhode nuzhno imenno takoe povedenie programmy V yazykah v kotoryh kontraktnogo programmirovaniya net ispolzuetsya samoproverka programmy v klyuchevyh tochkah Modulnoe testirovanie proverka povedeniya programmy po chastyam Staticheskij analiz koda proverka koda na standartnye oshibki po nedosmotru Vysokaya kultura programmirovaniya v chastnosti patterny proektirovaniya soglasheniya ob imenovanii i prozrachnoe povedenie otdelnyh blokov koda chtoby obyavit sebe i drugim kakim obrazom dolzhna vesti sebya ta ili inaya funkciya Shirokoe ispolzovanie proverennyh vneshnih bibliotek Bezopasnost programmnogo koda i otladkaV programmnom kode mozhet byt tak nazyvaemoe nedokumentirovannoe povedenie seryoznye oshibki kotorye ne proyavlyayutsya pri normalnom hode vypolneniya programmy odnako vesma opasny dlya bezopasnosti vsej sistemy v sluchae celenapravlennoj ataki Chashe vsego eto rezultat oshibok programmista Naibolee izvestnye primery eto SQL inekciya i perepolnenie bufera V dannom sluchae zadacha otladki eto Vyyavlenie nedokumentirovannogo povedeniya sistemy Ustranenie nebezopasnogo koda Vydelyayut takie metody staticheskij analiz koda Na etoj faze programma skaner ishet posledovatelnosti v ishodnom tekste sootvetstvuyushie nebezopasnym vyzovam funkcij i t d Fakticheski idet skanirovanie ishodnogo teksta programmy na osnove specialnoj bazy pravil kotoraya soderzhit opisanie nebezopasnyh obrazcov koda fazzing Eto process podachi na vhod programmy sluchajnyh ili nekorrektnyh dannyh i analiz reakcii programmy Reverse engineering Obratnaya inzheneriya Etot sluchaj voznikaet kogda nezavisimye issledovateli ishut uyazvimosti i nedokumentirovannye vozmozhnosti programmy Sm takzheOtladchik Otladchik yadra Stek vyzovov Utechka pamyati Tochka ostanova Testirovanie programmnogo obespecheniya ProgrammirovaniePrimechaniyaLiteraturaStiv Magyuir Sozdanie nadyozhnogo koda Steve Maguire Writing Solid Code Microsoft Press 1993 Stiv Mak Konnel Sovershennyj kod Steve McConnel Code Complete Microsoft Press 1993 SsylkiAMD64 Instruction Level Debugging With dbx angl AMD64 Instruction Level Debugging with Sun Studio dbx angl Dlya uluchsheniya etoj stati zhelatelno Najti i oformit v vide snosok ssylki na nezavisimye avtoritetnye istochniki podtverzhdayushie napisannoe Prostavit snoski vnesti bolee tochnye ukazaniya na istochniki Posle ispravleniya problemy isklyuchite eyo iz spiska Udalite shablon esli ustraneny vse nedostatki
Вершина