Movatterモバイル変換


[0]ホーム

URL:


Mine sisu juurde
Vikipeedia
Otsing

Silumine

Allikas: Vikipeedia

Silumine ontarkvaraarenduse protsess, mille käigus leitakse ja parandatakse vigu koodis, mis takistavadprogrammi või süsteemi korrektset toimimist.

Silumist tuleb eristada silurist, mis on tarkvaraprogramm või -moodul, mida kasutatakse silumiseks. Silumist võib kasutada ka koodi ridahaaval läbimiseks, et seda paremini mõista.[1]

Silumisel on erinevaid tehnikaid ja lähenemisi, millest tuntuimad on interaktiivne silumine, juhtimisvoo analüüs, komponenditestimine,integratsioonitestimine, logifailianalüüs, rakenduse- või süsteemitasemel programmi seisu jälgimine erinevatel ajahetkedel, mälutõmmis ja profileerimine.

Vahendid

[muuda |muuda lähteteksti]

Silumise keerukus võib erineda suuresti sõltuvalt programmist või süsteemist. Tegemist võib olla lihtsate vigade parandamisega, aga ka aeganõudvate ja väsitavate andmete kogumise, analüüsi ja uuenduste planeerimisega.Programmeerija silumisoskus võib suuresti mõjutada silumisedukust, kuid tarkvara silumise raskusaste varieerub suuresti sõltuvalt süsteemi keerukusest. Mingil määral sõltub see ka kasutatudprogrammeerimiskeelest ja saadaval olevatest siluritest. Silurid on tarkvaratööriistad, millega on võimalik jälgida programmi täitmist, seda peatada, uuesti alustada, vaatluspunkte seada jamälus olevateandmete väärtusi muuta.[2]

Üldiselt on parim siluda kõrgema taseme programmeerimiskeeltes naguJava, mida lihtsustavad selliste keelte mitmed omadused, näiteks erindite käsitlemine ja tüübikontroll. Programmeerimiskeeltes naguC jaassembler võib juhtuda, et tekkinud vead on peidetud, näiteks mälusaaste puhul. Seetõttu on keeruline leida, kust algne probleem tekkis. Neil juhtudel võib olla vaja kasutada mäluspetsiifilist silurit.[3]

Keelespetsiifilisi tööriistu nimetatakse staatilise koodianalüüsi tööriistadeks ja teatud olukordades on nad väga kasulikud. Staatilise koodianalüüsi tööriistade või vahendite eesmärk on otsida spetsiifilisi probleeme koodist, mis võivad olla nii levinud kui haruldased. Selliseid probleemekompilaator võiinterpretaator üldiselt ei leia. Staatilise koodianalüüsi vahendid ei kontrolli süntaksit vaid semantilisi aspekte.[4]

Antisilumine

[muuda |muuda lähteteksti]

Antisilumise eesmärgiks on kasutada koodis tehnikaid, mis takistavad pöördprojekteerimist (inglise keelesreverse engineering) ja teatud protsesside silumist.[5] Antisilumist saab kasutada koopiakaitsetehnikana kirjastajate poolt, aga kapahavaras, et pahavara leidmist ja eemaldamist keerulisemaks teha.[6] Mõned antisilumise tehnikad:

  • API-põhised – kontrollitakse siluri olemasolu, kasutades süsteemiinfot;
  • erindipõhised – kontrollitakse, kas kuidagi segatakse erindite viskamisele vahele;
  • protsesside jalõimede blokeerimine – kontrollitakse, kas kuidagi mõjutatakse protsesside ja lõimede blokeerimist;
  • muudetud kood – otsitakse siluri vaatluspunktide abil tehtud koodimuudatusi;
  • riistvara- jaregistripõhised – otsitakse riistvaralisi vaatluspunkte jaCPU registreid;
  • ajastus jalatentsusaeg – uuritakse juhiste täitmisele kulunud aega.

Üks varaseid näiteid antisilumisest oliMicrosoft Wordi esimestes versioonides. Kui programmiga tuvastati silur, väljastas programm ingliskeelse teate "The tree of evil bears bitter fruit. Now trashing program disk." (Tõlge: Kurjuse puul on mõrud viljad. Nüüd aeglustan programmiketast.) Seejärel hakkas programm arvutidisketiseadmes tekitama valjusid helisid eesmärgiga hirmutada kasutajat, et ta ei üritaks edaspidi silurit kasutada.[7][8]

Vaata ka

[muuda |muuda lähteteksti]

Viited

[muuda |muuda lähteteksti]
  1. Silumine (debug) Pythoni õppematerjalid, 2017
  2. "Debugger (Silur)".
  3. Globus, A; Raible, E (mai 1994)."Fourteen ways to say nothing with scientific visualization".IEEE Computer.27 (7): 86–88.DOI:10.1109/2.299418. Vaadatud 29.04.2018.
  4. Vonnegut, S. (8. aprill 2016)."Static Analysis Tools: All You Need to Know".Originaali arhiivikoopia seisuga 30. aprill 2018.
  5. Shields, Tyler (2. detsember 2008)."Anti-Debugging Series – Part I".Veracode. Vaadatud 17.03.2009.
  6. "What is anti debugging".
  7. Ross J. Anderson.Security Engineering. Lk 684.ISBN 0-471-38922-6.
  8. "Microsoft Word for DOS 1.15".
Pärit leheküljelt "https://et.wikipedia.org/w/index.php?title=Silumine&oldid=6693897"
Kategooria:

[8]ページ先頭

©2009-2025 Movatter.jp