Vika 8. Aflúsun og forstilling Flashcards

1
Q

Fyrsta nálgun í aflúsun forrits er oft að ?

A

Bæta við prentskipunum í kringum þá línu í kóðanum þar sem grunur er á að vandamálið liggi, og ítra sig áfram þar til nægum upplýsingum hefur verið safnað um hvað olli vandanum.

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
2
Q

Önnur nálgun í aflúsun forrits er oft að ?

A

Skrásetja atburði í svokallaðan keyrsluál (e. log).

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
3
Q

Hvað er keyrsluáll?

A

Keyrsluáll er einfaldlega notaður fyrir skrásetningar á atburðum og/eða upplýsingum um keyrslu(r). Hægt er að skrá færslur í keyrsluál innan úr forriti, í stað sérstakra prent skipana. Skráning í keyrsluál er betri en venjulegar prent skipanir fyrir margar sakir.

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
4
Q

Dæmi um afhverju keyrsluáll er betri en að nota prent skipanir í aflúsun?

A

Þú getur sent keyrsluálinn í skrá, tengil (e. sockets), eða fjartengda netþjóna í stað þess að prenta bara í venjulegt úttak.

Færslur í keyrsluál styðja mismunandi alvarleikastig (til dæmis INFO, DEBUG, WARN, ERROR o.s.frv., sem standa fyrir upplýsingar, aflúsun, varúð og villu)

Fyrir ný vandamál eru góðar líkur á að keyrsluáll innihaldi nægar upplýsingar til að komast til botns í því hvað sé ekki að virka sem skyldi í kóðanum.

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
5
Q

Til að skrifa í stýrikerfis keyrsluálana er hægt að nota ?

A

logger (Tenglar á ytra svæði.) skeljaforritið.

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
6
Q

Flestum forritunarmálum fylgir einhvers konar aflúsari. Í Python er það ?

A

Python Debugger eða pdb.

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
7
Q

Hvað er kyrrstæð greining (e.Static Analysis)?

A

Fyrir sum vandamál er óþarfi að keyra kóðann til að átta sig á hvar villa leynist.
Í svona tilfellum koma kyrrstæð greiningartól til sögunnar. Kyrrstæð greiningarforrit taka frumkóða sem inntak og greina hann eftir ýmsum kóðareglum til að ákvarða réttleika kóðans.

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
8
Q

Rauntími

A

Jafngildi þess að telja hve langt sekúnduvísirinn hreyfðist á klukkunni frá byrjun forritskeyrslu til enda. Inni í þeirri tölu er þá líka tíminn sem fór í aðrar keyrslur framkvæmdar á sama tíma, eða tími þar sem forritið var hindrað (e. blocked) t.d. ef beðið var eftir inntaki/úrtaki eða að nettenging næðist.

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
9
Q

Notendatími

A

Sú tímalengd sem eytt var í örgjörvanum í að keyra kóða notanda.

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
10
Q

Kerfistími

A

Sú tímalengd sem eytt var í örgjörvanum í að keyra kjarnakóða

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
11
Q

Hvað er að keyrslugreina ?

A

Oftast þegar fólk talar um keyrslugreina (e. profilers) er verið að vísa til örgjörvakeyrslugreina sem eru algengastir.

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
12
Q

Það eru tvær tegundir af örgjörvakeyrslugreinum:

A

rakningar (e. tracing) og úrtaks (e. sampling) keyrslugreinar.

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
13
Q

Rakningar keyrslugreinar ?

A

halda skrá yfir hvert einasta kall á fall (e. function call) sem forritið þitt gerir

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
14
Q

Úrtaks keyrslugreinar ?

A

kanna forritið þitt reglulega (oftast á hverri millisekúndu) og taka niður hvað er í stafla (e. stack) forritsins.

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
15
Q

Í forritum á borð við C eða C++ geta minnislekar valdið því að forritið þitt sleppir ekki minni tölvunnar sem það er ekki lengur að nota. Til að aðstoða við minnisaflúsun er hægt að nota tól eins og?

A

Valgrind, sem hjálpa þér að koma auga á hvar minnisleki geti átt sér stað.

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
16
Q

Hvað er Auðlindavöktun (e. Resource Monitoring)?

A

Stundum er fyrsta skrefið þegar greina á frammistöðu forrits að gera sér grein fyrir neyslu þess á auðlindum tölvunnar, s.s. minni, örgjörvatíma eða pláss í geymslu sem það tekur.

17
Q

Vinsælt tól fyrir vöktun?

A

Eitt vinsælasta tólið er htopTenglar á ytra svæði., sem er endurbætt útgáfa af topTenglar á ytra svæði.. htop birtir ýmsa tölfræði um þá ferla og keyrslur sem eru í gangi á vélinni. htop hefur ýmsa valmöguleika og flýtilykla, en sem dæmi má nefna: til að raða ferlum, t til að birta gögnin sem stigveldistré (e. Tree hierarchy) og h til að kveikja eða slökkva á birtingu upplýsinga um þræði

18
Q

iotop

A

birtir rauntíma notkunarupplýsingar um inntak/úttak og getur komið sér vel til að athuga hvort ferli er að gera mikið af tímafrekum eða þungum aðgerðum, t.d. lestur eða skrif á diskadrif.

19
Q

df og du

A

df birtir mælingar fyrir hverja deild (e. partition) á disknum, og du birtir diskanotkun fyrir hverja skrá í núverandi möppu. Með því að nota -h flaggið í þessum tólum er þeim sagt að prenta úttakið á læsilegri hátt (eða á ensku human readable format). Gagnvirkari útgáfa af du er ncduTenglar á ytra svæði. sem gerir þér kleift að færa þig um og milli mappa, og eyða skrám og möppum að vild.

20
Q

free

A

birtir samtölur yfir notað og ónotað minni kerfisins. Upplýsingar um minnið eru einnig birtar í tólum eins og htop.

21
Q

lsof

A

birtir upplýsingar um þær skrár sem eru opnar af ferlum. Það getur komið sér vel til að athuga hvaða ferlar hafa opnað ákveðna skrá.

22
Q

ss

A

gerir notandanum kleift að fylgjast með tölfræði um netpakka á inn- og útleið, ásamt tölfræði um skil (e. interface). Algengt notkunartilvik ss er til að komast að því hvaða ferli er að nota ákveðið tengi (e. port) á vélinni. Til að birta upplýsingar um beiningar (e. routing), nettæki og skil er hægt að nota ipTenglar á ytra svæði.. Athugið að netstat og ifconfig eru nú orðin úrelt og ss og ip eru notuð þeirra í stað.

23
Q

nethogs og iftop

A

eru góð gagnvirk skipanalínutól til að fylgjast með netnotkun vélarinnar.

24
Q

hyperfine

A

Þegar verið er að velja hvaða forrit eða tól skuli nota, dugir stundum að gera afkastaprófun á þeim án þess að hafa áhyggjur af innri verkan þeirra (e. Black box benchmarking). Tól eins og hyperfine gera manni kleift að gera afkastapróf á einfaldan hátt á skipanalínuforrit.