www.wikidata.uk-ua.nina.az
Nala godzhennya progra mi 1 2 3 4 5 6 7 v merezhi ridshe zneva dzhennya 8 angl debugging metodichnij proces poshuku ta zmenshennya chisla pomilok abo defektiv u komp yuternij programi abo elektronnomu obladnanni z metoyu otrimannya ochikuvanoyi povedinki Znevadzhennya yak pravilo uskladnyuyetsya koli rizni pidsistemi micno pov yazani mizh soboyu oskilki zmini v odnij chastini mozhut viklikati pomilki v inshij Zmist 1 Terminologiya 2 Vadi 3 Zasobi 4 Proces znevadzhennya 4 1 Vidtvorennya pomilki 4 2 Trasuvannya 4 3 Post mortem 4 4 Inshi metodi 5 Antiznevadzhennya 6 Primitki 7 Literatura 8 Posilannya 9 Div takozhTerminologiya red nbsp Storinka z shodennika Grejs GopperIsnuyut rizni varianti tlumachennya pohodzhennya termina angl debugging Sered programistiv populyarna legenda sho termini bug ta debugging pershoyu vzhila Grejs Gopper u 1940 h rokah 9 Koli vona pracyuvala na komp yuteri Mark II v Garvardskomu universiteti yiyi spivrobitniki viyavili sho mil zastryagla v rele i tim samim prizvela do zboyu v roboti komp yutera Grejs pidkleyila v shodennik mil i napisala sho ce pershij vipadok v istoriyi koli zhuchka angl bug zhuchok komaha viyavili naspravdi actual case Sam zapis svidchit pro te sho slovo bag u znachenni pomilki v programi bulo vzhe vidome yij Termin bug v sensi tehnichnoyi pomilki vzhivavsya prinajmni she v 1878 Tomasom Edisonom i debugging sudyachi z usogo vikoristovuvavsya yak termin v aeronavtici pered poyavoyu komp yuteriv V Oksfordskomu slovniku slovo debugging z yavilosya she za dva roki do vipadku z komahoyu Slova bug i debugging u vuzkomu znachenni pomilki v programi ta procesu yiyi vipravlennya utverdilisya vprodovzh 50 h rokiv i na pochatku 60 h jogo vzhivannya v literaturi ne potrebuvalo dodatkovogo poyasnennya Bilshist perekladnih i tlumachnih slovnikiv she z radyanskih chasiv yak vidpovidnik do debugging vkazuyut nalagodzhuvannya Termin znevadzhennya buv zaproponovanij O Kochergoyu ta Ye Mejnarovichem na pochatku 2000 h imovirno shob uniknuti neodnoznachnosti dzherelo z ponyattyam zagalnogo nalagodzhuvannya programi Vadi red Poshuk i vipravlennya pomilok yaki programisti nazivayut bagami trudomistkij proces Programistskij napivzhart viznachaye cikl zhittya programi yak 1 3 1 napisannya nalagodzhennya vikoristannya Vadi traplyayutsya v osnovnomu cherez neuvazhnist abo vtomu programista ale inkoli cherez neprodumanij do kincya algoritm Kilkist bagiv zrostaye zi zrostannyam rozmiru programi a z yiyi uskladnennyam vinikayut novi pomilki pov yazani zi vzayemodiyeyu ta vzayemovplivom riznih moduliv Chastina bagiv vipravlyayetsya uzhe na etapi napisannya programi Insha chastina pislya nezalezhnogo testuvannya Zazvichaj testuvannya yake provodit koristuvach yakij ne znaye mehanizmu roboti programi dozvolyaye viloviti novi pomilki yaki programisti ne pomichayut bo mayut shilnist robiti tilki pravilni diyi She odna chastina bagiv proyavlyayetsya uzhe v roboti programi i potrebuye piznogo latannya chomu sluzhat patchi i servisni pakunki Zasobi red Cej rozdil ne mistit posilan na dzherela Vi mozhete dopomogti polipshiti cej rozdil dodavshi posilannya na nadijni avtoritetni dzherela Material bez dzherel mozhe buti piddano sumnivu ta vilucheno kviten 2013 Poshuk pomilki v programi yak pravilo trivale i klopitke zavdannya Najvazhlivishim chinnikom uspishnosti ta shvidkosti cogo procesu ye mabut dosvid programista ale trudnoshi zi znevadzhennyam programnogo zabezpechennya takozh zalezhat znachnoyu miroyu vid movi programuvannya Chimalo seredovish rozrobki programnogo zabezpechennya mayut sered svoyih instrumentiv specialnu programu znevadzhuvach Znevadzhuvach ye programnim instrumentom yakij dozvolyaye programistu kontrolyuvati vikonannya programi zupinyati jogo znovu zapuskati vstanovlyuvati tochki zupinki zminyuvati znachennya zminnih u pam yati j navit u deyakih vipadkah nadaye mozhlivist povernutisya v minule Termin znevadzhuvach mozhe takozh stosuvatisya programista Movi programuvannya visokogo rivnya napriklad Java sproshuyut znevadzhennya oskilki mayut specialni programni zasobi yak napriklad obrobka vinyatkovih situacij sho dozvolyayut shvidshe lokalizuvati pomilku U mov programuvannya nizhchogo rivnya takih yak C abo Asembler pomilka v programi chasto mozhe stvoriti problemi sho proyavlyayutsya ne zrazu taki yak poshkodzhennya cilisnosti pam yati i yih nabagato vazhche viyaviti oskilki zovnishno problema mozhe proyavitisya nabagato piznishe i v nespodivanij formi V takih vipadkah nadzvichajno korisnimi ye specialni programi na kshtalt znevadzhuvacha pam yati U deyakih situaciyah mozhut buti duzhe korisnimi programni zasobi zagalnogo priznachennya sho priv yazani do konkretnoyi movi Prikladom mozhut buti instrumenti statichnogo analizu kodu Ci instrumenti vikonuyut poshuk duzhe konkretnih vidomih poshirenih ta ridkisnih problem u teksti programi Voni dozvolyayut znahoditi pomilki yaki ridko fiksuyutsya kompilyatorom abo translyatorom oskilki voni ne sintaksichni a semantichni Napriklad instrukciya S if x foo bar pidozrila Mozhlivo programist pomilkovo vikoristav prisvoyuvannya zamist porivnyannya Odnak vona ye cilkom legalnoyu v S i kompilyator yiyi propustit Deyaki virobniki takih instrumentiv stverdzhuyut sho yihni programi mozhut viyaviti ponad 300 riznih potencijnih problem Taki zasobi mozhut buti nadzvichajno korisnimi pri perevirci duzhe velikih obsyagiv sircevogo kodu koli duzhe neefektivno pereglyadati ves kod chi vidstezhuvati vsi shlyahi jogo vikonannya Tipovim prikladom viyavlenoyi problemi mozhe buti zvernennya do zminnoyi do yiyi inicializaciyi Inshim prikladom mozhe buti suvorisha perevirka tipiv yaksho mova takoyi ne maye Takim chinom ci zasobi ye krashimi dlya viyavlennya potencijnih vad na protivagu faktichnim vadam Yak naslidok ci zasobi mayut visokij riven pomilkovogo spracovuvannya Davnya utilita Unix lint ye odnim z najstarishih prikladiv zasobiv takogo tipu Dlya nalagodzhennya elektronnih pristroyiv napriklad komp yuternogo obladnannya a takozh programnogo zabezpechennya nizkogo rivnya BIOS drajveri pristroyiv tosho i vbudovanih program zastosovuyut taki instrumenti yak oscilograf analizator logiki ICE POST kontroleri yaki chasto vikoristovuyetsya i v kombinaciyi Voni mozhut vikonuvati bagato tipovih dij zvichajnih znevadzhuvachiv dlya programnogo zabezpechennya mikroprocesornih sistem Proces znevadzhennya red Vidtvorennya pomilki red Chasto pershij krok znevadzhennya polyagaye v tomu shob sprobuvati vidtvoriti problemu tobto tochno viznachiti situaciyu koli programa pracyuye nepravilno Vipadok koli programa pracyuye nepravilno zavzhdi ye vidnosno prostim ale chasto problemi proyavlyayutsya tilki pri ekspluataciyi uzhe pislya togo yak programa projshla testuvannya yake ne mozhe pereviriti vsi mozhlivi situaciyi Vidtvorennya problemi mozhe buti osoblivo netrivialnim zavdannyam napriklad u vipadku paralelnih procesiv abo nezvichajnih pomilok Krim togo specifichne vzhivannya programi koristuvachem abo nezvichajne otochennya mozhe znachno uskladniti vidtvorennya problemi Pislya togo yak pomilku vidtvoreno potribno vidiliti tu chastinu programi de vinikaye zbij shob pracyuvati tilki z neyu Chasto dostatno obmezhitisya tilki kilkoma ryadami kodu Take sproshennya mozhna zrobiti vruchnu za dopomogoyu pidhodu rozdilyaj i volodaryuj Programist probuye viluchiti deyaki chastini programi i pereviryaye chi problema vse she isnuye Pri roboti z programami sho vikoristovuyut grafichnomu interfejsi koristuvacha programist sproshuvatime vikno programi pribirayuchi kontrolni elementi j pereviryayuchi chi pomilka vse she zalishayetsya Dlya avtomatizaciyi cogo procesu mozhe vikoristovuvatisya znevadzhennya deltoyu 10 Trasuvannya red Cej rozdil ne mistit posilan na dzherela Vi mozhete dopomogti polipshiti cej rozdil dodavshi posilannya na nadijni avtoritetni dzherela Material bez dzherel mozhe buti piddano sumnivu ta vilucheno kviten 2013 Pislya togo yak viprobuvannya vipadku sprosheno dostatno programist mozhe pristupiti do poshuku j vipravlennya pomilki Ce mozhna robiti abo vruchnu abo z vikoristannyam znevadzhuvacha Poshirenim ye vstavlyannya v programu dodatkovih instrukciyi sho regulyarno rozdrukovuvali b informaciyu pro hid vikonannya programi Takij metod nazivayetsya trasuvannyam U prostih vipadkah trasuvannya lishe dekilka instrukcij vivodu sho pokazuye znachennya zminnih v pevnih tochkah vikonannya programi Napriklad ifdef DEBUG printf Pered viklikom foo x d n x endif x foo ifdef DEBUG printf Pislya vikliku foo x d n x endif Mozhna vikoristati znevadzhuvach yakij daye dostup do stanu programi znachennya zminnih stek viklikiv i vidstezhiti pohodzhennya pomilki Yaksho mova programuvannya vikoristovuye kompilyator to zazvichaj u binarnomu kodi programi vzhe vtracheno vidpovidnist mizh instrukciyami procesoru ta ryadkami tekstu programi Tomu dlya znevadzhuvacha programu potribno vidkompilyuvati v specialnomu rezhimi de taka vidpovidnist zberezhena Pri comu rozmir binarnogo fajlu programi zrostaye a yiyi vikonannya spovilnyuyetsya Pislya togo yak pomilku znajdeno j vipravleno vidpovidnij fajl potribno vidkompilyuvati v zvichajnomu rezhimi Zazvichaj pri rozrobci programnogo zabezpechennya v integrovanomu seredovishi rezhim znevadzhennya vikoristovuyetsya za umovchannyam a pered postavkoyu programnogo zabezpechennya zamovniku jogo vidklyuchayut Post mortem red Cej rozdil ne mistit posilan na dzherela Vi mozhete dopomogti polipshiti cej rozdil dodavshi posilannya na nadijni avtoritetni dzherela Material bez dzherel mozhe buti piddano sumnivu ta vilucheno kviten 2013 Inodi pomilku mozhna znajti analizuyuchi damp procesu Take znevadzhennya nazivayut posmertnim post mortem Deyaki operacijni sistemi stvoryuyut damp vidbitok pam yati procesu pri avarijnomu zavershenni programi programist mozhe utvoriti jogo vruchnu za potrebi napriklad komandoyu dump operacijnoyi sistemi Unix Dlya zistavlennya pam yati zi zminnimi programi bazhano mati tablicyu simvoliv V roboti dopomagayut specialni programi analizatori dampu Debageri na zrazok gdb tezh mozhut zchitati i proanalizuvati damp Inshi metodi red Shukati pomilku mozhna sposterigayuchi za procesom z inshogo komp yutera Dlya zapusku viddalenogo znevadzhennya znevadzhuvach pidklyuchayetsya do viddalenoyi sistemi cherez merezhu Pislya togo yak zv yazok vstanovleno znevadzhuvach mozhe kontrolyuvati vikonannya programi na viddalenij sistemi ta otrimuvati informaciyu pro yiyi stan Antiznevadzhennya red Antiznevadzhennya ye zastosuvannya v komp yuternomu kodi odnogo abo dekilkoh metodiv sho pereshkodzhayut sprobam zvorotnoyi rozrobki ta znevadzhennya cilovogo procesu 11 Vidi pidhodiv Na osnovi API perevirka na nayavnist znevadzhuvachiv vikoristovuyuchi informaciyu pro sistemu Na osnovi obrobki vinyatkovih situacij pereviryayetsya chi jde perehoplennya vinyatkovih situacij Blokuvannya procesiv i potokiv pereviryayetsya chi buli manipulyaciyi z blokuvannyam procesu abo potokiv Zmina kodu pereviryayetsya chi buli zmini v kodi vneseni znevadzhuvachem dlya obrobki programnih tochok zupinu Na osnovi obladnannya ta registriv pereviryayutsya aparatni tochki zupinu i registri procesora Chas i latentnist pereviryayetsya chas vikonannya instrukcijZnevadzhennya mozhe buti pereshkodoyu pri vikoristanni odnogo abo kilkoh z vishezaznachenih metodiv Ye dostatno bagato metodiv antiznevadzhennya dlya zahistu programnogo zabezpechennya vid bilshosti zagroz 12 Primitki red Korotkij tlumachnij slovnik z informatiki ta informacijnih sistem dlya ekonomistiv L S Kozlovska N M Polishuk K KNEU 2004 S 21 nalagodzhuvannya ros nalazhivanie angl debugging proces viyavlennya ta usunennya pomilok u komp yuternih programah abo obladnanni Anglo ukrayinskij tlumachnij slovnik z obchislyuvalnoyi tehniki internetu i programuvannya K 2006 S 146 debugging 1 nalagodzhennya poshuk i vipravlennya pomilok u rozroblyuvanij programi Kollin S M G Anglo ukrayinskij slovnik komp yuternih terminiv Perekl V Vorobjov H 2002 S 19 adjust regulyuvati nastroyuvati adjustment regulyuvannya nastroyuvannya S 126 debug nalagodzhuvati usuvati nepoladki diyesl testuvannya programi dlya viyavlennya i vipravlennya vsih nepoladok i pomilok debugger nalagodzhuvach programa nalagodzhennya im programne zabezpechennya sho dozvolyaye programistovi znahoditi nespravnosti ta pomilki v programi Korotkij anglo ukrayinskij tlumachnij slovnik z komp yuternoyi tehniki Ukl R Sirenko ta in Lviv LNU 2005 S 22 debugging nalagodzhennya poshuk ta vipravlennya pomilok u programi dlya komp yutera Savruk M P Ukrayinsko anglijskij naukovo tehnichnij slovnik ponad 120 000 sliv ta slovospoluchen NAN Ukrayini Fiziko mehanichnij in t im G V Karpenka K Naukova dumka 2008 Slovniki Ukrayini S 460 461 nalagodzhuvannya nalagodzhennya regulyuvannya adjustment mat setting up avtotr dviguna karbyuratora tune up tunung up komp debugging checkout verstata setting up of a machine tool dviguna engine tune up EOM computer debugging programi programme checkout debugging avtonomne off line debugging distancijne remote debugging ekspluatacijne field adjustment kompleksne complex debugging pokrokove single step debugging poperednye komp prestage Nalagodzhuvach komp programa debugger dialogovij console interactive debugger modelyuvalnij simulation debugger simvolnij symbolic debugger Tlumachnij slovnik suchasnoyi ukrayinskoyi movi Fahova leksika Bl 20000 sl Zag red V Kalashnika H 2009 S 222 223 nalagodzhuvach U sistemah programuvannya programa priznachena dlya analizu funkcionuvannya ta dlya nalagodzhuvannya inshoyi programi Tlumachnij slovnik z informatiki Zag red akad G G Pivnyaka D Nac girn un t 2010 S 68 debugger nalagodzhuvach div debagger Debugging nalagodzhennya Proces znahodzhennya i vipravlennya pomilok u programi S 310 debagger debugger div bag sin nalagodzhuvach programa nalagodzhennya nalagodzhuvalna programa S 441 nalagodzhennya debugging div debagger Proces vikonannya programi z metoyu viyavlennya pomilok Anglijsko ukrayinskij slovnik Matematika ta kibernetika Ye Mejnarovich M Kratko K Perun 2010 560 s debugging ˌdi bʌgɪŋ zneva dzhuvannya zneva dzhennya usuva nnya usu nennya vad nalago dzhuvannya nalago dzhennya vilucha nnya vi luchennya vad U Vikipediyi cej mensh poshirenij termin vzhivayetsya za domovlenistyu dopisuvachiv Grace Hopper Arhivovano 5 bereznya 2016 u Wayback Machine z FOLDOC Zeller p 123 Arhivovana kopiya Arhiv originalu za 19 zhovtnya 2016 Procitovano 18 sichnya 2009 DOI 10 1109 MSP 2007 71 Literatura red Andreas Zeller Why Programs Fail A Guide to Systematic Debugging Morgan Kaufmann 2005 ISBN 1 55860 866 4Dodatkovi materialiDavid J Agans Debugging The Nine Indispensable Rules for Finding Even the Most Elusive Software and Hardware Problems AMACOM 2002 ISBN 0 8144 7168 4 Bill Blunden Software Exorcism A Handbook for Debugging and Optimizing Legacy Code APress 2003 ISBN 1 59059 234 4 Ann R Ford Toby J Teorey Practical Debugging in C Prentice Hall 2002 ISBN 0 13 065394 2 Thorsten Grotker Ulrich Holtmann Holger Keding Markus Wloka The Developer s Guide to Debugging Springer 2008 ISBN 1 40205 539 0 Robert C Metzger Debugging by Thinking A Multidisciplinary Approach Digital Press 2003 ISBN 1 55558 307 5 Glenford J Myers The Art of Software Testing John Wiley amp Sons inc 2004 ISBN 0 471 04328 1 John Robbins Debugging Applications Microsoft Press 2000 ISBN 0 7356 0886 5 Matthew A Telles Yuan Hsieh The Science of Debugging The Coriolis Group 2001 ISBN 1 57610 917 8 Dmitry Vostokov Memory Dump Analysis Anthology Volume 1 OpenTask 2008 ISBN 978 0 9558328 0 2Posilannya red Debugging tools katalog posilan Open Directory Project Algorithmic and Automatic Debugging velika zbirka posilan na zasobi ta metodi znevadzhennya Crash dump analysis patterns gruntovna stattya po analizu ta znahodzhennya vad v avarijnih dampah Debugging Tools for Windows GDB The GNU Project Debugger DDD DataDisplayDebuggerDiv takozh red Metod kachenyati nbsp Ce nezavershena stattya pro programuvannya Vi mozhete dopomogti proyektu vipravivshi abo dopisavshi yiyi Otrimano z https uk wikipedia org w index php title Nalagodzhennya program amp oldid 36389777