Определение на бъг (изчисления)
Miscellanea / / July 04, 2021
От Гилем Алсина Гонсалес, през януари 2017
Първите съвременни компютри не бяха точно малки, нито работеха по същия начин, а се основаваха на по-големи механични и електронни части.
Ние се намираме във временен план по време на Втората световна война и по-точно през 1944 г., когато компютър Mark II (построен от IBM в Харвард) претърпя неуспех в електромагнитно реле, по това време основен компонент за компютър.
При отваряне на компютъра и търсене на засегнатото реле, отговорните установиха, че молец (на английски, буболечка) се беше промъкнал в системата, блъскайки се в релето, което беше оставено отворено
Оттогава всеки път, когато възникне някакъв вид грешка в споменатия компютър, учените, отговарящи за неговото управление, започнаха да говорят за a буболечка, термин, който обогатява всички видове проблеми и грешки, предотвратяващи нормалното функциониране на хардуер
С течение на времето и повишената надеждност на хардуер успоредно с неговото миниатюризиране, повечето проблеми, претърпени от компютрите остана в раздела за софтуер, въпреки че грешката в името направи богатство да ги назове грешки
Как трябва да разберем грешка в съвременния смисъл на думата? Е, просто като провал по време на програмиране, който поражда част от код източник, съдържащ съществена грешка, причинявайки на получената програма проблеми с времето на изпълнение.
Грешките могат да доведат до повтарящи се проблеми, докато Потребителско име прави поредица от неща или когато има поредица от обстоятелства, които не винаги се повтарят, когато правите едни и същи неща в същия ред, но зависят от фактори външни за програмата.
Така например можем да имаме конфликти между програма и друга програма, заредена памет, но че проблемът възниква, когато сме направили поредица от неща и с двете приложения.
Между бъгове най-често в програмирането имаме деление на нула, препълване на буфера, нарушение на паметта, грешки при операции, които не са предвидени в програмата, неправилен достъп до променливи, ...
Инструментите на програмиране Те са склонни да предлагат решения за откриване и коригиране на тези проблеми, като първо преглеждат изходния код и прилагат логически правила (например, ако променлива е достъпна преди декларирайте го и дефинирайте неговия тип), а след това чрез инструменти за тестване на код, които ни позволяват да играем с въведените стойности и да изследваме записите с информация от екзекуция.
Този процес се нарича „отстраняване на грешки”, От английския термин отстраняване на грешки (за почистване на бъгове).
Най-тъмната страна на бъговете е, че те могат да отворят вратата за изпълнение злонамерен софтуер в системата, изпълняваща засегнатата програма
Тъй като след като грешката е причинена, има начини да се използва проблемът, причинен в операционна система за изпълнение на произволен код, инжектиран отвън.
Ако добавим към това привилегиите, които могат да бъдат спечелени в системата, имаме потенциал опасност много сериозен, който е бил експлоатиран в множество случаи от киберпрестъпници за достъп до системи на трети страни.
Снимки: Fotolia - selcuk kırbız / gustavofrazao
Теми в бъгове (изчисления)