眼睛发热是什么原因| 气阴两虚是什么意思| 小鹦鹉吃什么食物| 前白蛋白是什么意思| nikon是什么牌子| 抚今追昔的意思是什么| 心仪的人是什么意思| 普洱茶属于什么茶| 血小板压积是什么意思| 宝宝拉肚子挂什么科| 什么是三重一大事项| 三个犬念什么字| 两个圈的皮带是什么牌子| 取环挂什么科| 观音菩萨属什么生肖| 小米什么时候成熟| 84年是什么命| 御木本是什么档次| 什么叫袖珍人| 烫伤什么时候能好| fwb什么意思| 入殓师是干什么的| 1025是什么星座| 动爻是什么意思| 怀疑甲亢需要做什么检查| 乌龟一般吃什么东西| 为什么会得干眼症| 手心为什么老出汗| 水火既济是什么意思| npn是什么意思| 艾灸肚脐有什么好处| 自闭什么意思| 9k金是什么意思| 什么粥最养胃健脾| 1936年是什么年| 有什么不能说| 全脂乳粉是什么| 私密是什么意思| 人的血压一天中什么时候最高| 慢性疾病都包括什么病| 真菌感染吃什么药| 腹泻吃什么水果好| 为什么不快乐| 四个木字念什么| 宫颈囊肿有什么症状表现| 窦性心律左室高电压什么意思| 现象是什么意思| 10.28是什么星座| 狗叫是什么意思| 四月份是什么星座| 什么是心梗| 腰肌劳损看什么科| 小儿疳积是什么症状| 呼吸胸口疼是什么原因| 包拯属什么生肖| 一个山一个见读什么| 直接胆红素偏高是什么意思| 饱和脂肪是什么意思| 肚子突然疼是什么原因| 扶山是什么意思| timing什么意思| 荒诞是什么意思| 什么叫出轨| 事后紧急避孕药什么时候吃有效| 冠脉钙化是什么意思| mds是什么病的简称| 正月是什么意思| 孕检都检查什么项目| 判缓刑是什么意思| 骡子是什么意思| 胆囊炎需要注意什么| 存款准备金率下调意味着什么| 己五行属什么| 瞬移是什么意思| 梦见好多黄鳝是什么意思| 好吃懒做是什么生肖| 双子座女和什么座最配| 记忆是什么| 手心发热是什么原因| 血糖高什么原因引起| 贾宝玉和林黛玉是什么关系| 迷离的眼神什么意思| 什么是题材股| 鸡蛋价格为什么这么低| 做颈动脉彩超挂什么科| 梦见自己扫地是什么意思| 流产是什么样子的| 高血压应该吃什么| 孕妇建档是什么意思| 图图是什么意思| 肚子胀疼是什么原因| 带状疱疹一般长在什么地方| 海底有什么生物| 口臭是什么原因| 五浊恶世是什么意思| 怀孕查雌二醇什么作用| 释迦牟尼是什么意思| 什么是辟谷| 口嫌体正直是什么意思| 经常打喷嚏是什么原因| 乳钉的作用是什么| 什么是钓鱼执法| 地贫是什么病| 粉色裤子配什么上衣| 梦见女儿哭意味着什么| leep是什么手术| 柠檬泡水喝有什么作用| 海参什么人不适合吃| 针灸是什么| 应无所住而生其心是什么意思| 吃驼奶粉有什么好处| 子宫癌筛查做什么检查| 湿气重有什么症状| 心率不齐是什么原因| 什么叫脂肪肝| 下限是什么意思| 二丁颗粒主要治什么病| 斯凯奇鞋是什么档次| 肝郁症是什么病| 为什么会有生长纹| 倒春寒是什么意思| 靛青色是什么颜色| 甘草片不能和什么药一起吃| 五行缺土是什么意思| 血糖高有什么症状| 突然全身抽搐是什么病| 今天什么地方地震了| 男士皮带什么品牌好| 岁寒三友是指什么| 汽车abs是什么意思| 半枝莲有什么功效| 寒包火感冒吃什么药| 梦见死人的场面是什么兆头| 尿中有泡沫是什么原因| 咳嗽吃什么好的快偏方| 12.8是什么星座| 耵聍是什么| 经期喝咖啡有什么影响| 磨平了棱角是什么意思| 大熊猫为什么有黑眼圈| 柿子不能和什么食物一起吃| 为什么射精是流出来的| 姓贾的男孩取什么名字好| 香菇吃多了有什么危害| 苦瓜不能和什么一起吃| 一什么毛巾| 想什么来什么是什么定律| 做三明治需要什么材料| 书字五行属什么| 00后属什么生肖| 居心叵测是什么意思| 华佗属什么生肖| 喝什么茶好| 发字五行属什么| 薄姬为什么讨厌窦漪房| 尿酸低是什么意思| 物流是什么| 纯化水是什么水| lively什么意思| 敛是什么意思| pro是什么意思| 定性是什么意思| 已归档是什么意思| 农历五月二十是什么星座| 男性尿路感染有什么症状| 为什么会长痘痘| 为什么流鼻血| 舌尖疼吃什么药| 什么是安全期和排卵期| 芊芊是什么颜色| 韧带是什么| 肝病看什么科室| 什么是人棉| 身体发冷是什么原因| 球代表什么生肖| 挂碍是什么意思| 什么怎么什么造句| 鼻炎看什么科| 荔枝什么品种好吃| 小孩胃疼吃什么药好| 右上腹是什么器官| 母亲节送什么颜色的康乃馨| 什么狗不咬人| 西地那非是什么| 各类病原体dna测定是检查什么| 抗链o高是什么原因| 家徒四壁是什么生肖| 阴道菌群失调用什么药| 湿浊中阻是什么意思| 秋天有什么景物| 死党是什么意思| 微醺是什么意思| 黄体期是什么| 树膏皮是什么皮| 第一次同房是什么感觉| 斑鸠吃什么食物| aso是什么意思| 日不落是什么意思| 荷尔蒙是什么意思啊| 月经不来吃什么药| 心里烦躁是什么原因| 骨折有什么症状| 心衰竭吃什么药效果好| 莫名其妙的心情不好是什么原因| 口苦口干是什么原因造成的| 淋巴细胞百分比低是什么意思| 天眼是什么意思| 喝酒对胃有什么伤害| 夏至未至什么意思| 玩微博的都是什么人| 习字五行属什么| 珍珠是什么做的| 什么什么害命| 耳朵里面疼是什么原因| 黑t恤搭配什么裤子| 尿红细胞阳性什么意思| 耳加贵念什么| 肛裂是什么症状| 日本豆腐是用什么做的| 凤尾是什么菜| 喝酒后腰疼是什么原因| 兰花叶子发黄是什么原因| 干部是什么意思| 什么是佛跳墙| 鼻子流黄水是什么原因| 八字缺什么怎么算| 魂牵梦绕是什么意思| 阴虱是什么样子图片| 利水渗湿是什么意思| 血压不稳定是什么原因| 一人吃饱全家不饿是什么生肖| 肠粘连会有什么症状| 肾病应该吃什么| 情分是什么意思| 头疼恶心想吐吃什么药| 处暑是什么意思| 键盘侠是什么意思| 冰字五行属什么| 禁忌是什么意思| 梦见洗车是什么意思| 什么叫白癜风| 女性尿臭味重是什么病| coscia是什么品牌| 乌梅是什么水果做的| 贫血到什么程度会晕倒| 坑坑洼洼是什么意思| 外阴白斑是什么| 小孩经常口腔溃疡是什么原因| 靶向药物是什么| 口我什么意思| 脑梗有什么症状| txt是什么意思| 胆固醇偏高吃什么好| 1948年是什么年| 打嗝是什么原因| 腹部彩超可以检查什么| 妈妈生日送什么礼物| 增大摩擦力的方法有什么| pg是什么激素| 蚊子喜欢什么血型| 荔枝和什么吃会中毒| 茹什么饮什么| 钝角是什么意思| 重度肠化是什么意思| 百度Vai al contenuto

青海:以“七个坚持”推动“两学一做”学习教育常态化制度化落地见效

Da Wikipedia, l'enciclopedia libera.
Disambiguazione – Se stai cercando il termine nel contesto del ciclo di vita del software, vedi Ispezione del software.
Uno sviluppatore software esegue un debugging
百度 对于北京当前房地产市场来说,租金上涨和市场交易活跃是有关的。

Il debugging (o semplicemente debug) o depurazione, in informatica, nell'ambito dello sviluppo software, indica l'attività che consiste nell'individuazione e correzione da parte del programmatore di uno o più errori (bug) rilevati nel software, direttamente in fase di programmazione oppure a seguito della fase di testing o dell'utilizzo finale del programma stesso.

L'attività di debug è una delle operazioni più importanti e difficili per la messa a punto di un programma, spesso estremamente complicata per la complessità dei software in uso e delicata per il pericolo di introdurre nuovi errori o comportamenti difformi da quelli desiderati nel tentativo di correggere quelli per cui si è svolta l'attività di debug.

Operazioni di base

[modifica | modifica wikitesto]

Sebbene ogni sessione di debug sia unica e costituisca una storia a sé, alcuni principi generici sono applicabili a tutte le sessioni di debug. In particolare, per il debug di applicazioni software, in genere si possono riconoscere cinque fasi nel debug:

  • identificazione del bug
  • individuazione del componente in cui è presente il bug
  • individuazione della causa del bug
  • progettazione di una correzione per il bug
  • implementazione e testing della suddetta correzione

Rilevazione dell'errore

[modifica | modifica wikitesto]
Lo stesso argomento in dettaglio: Bug (informatica) e Debugger.

Mentre gli errori di sintassi sono tipicamente evidenziati dall'IDE, alla fine della stesura del codice il programmatore opera una seconda fase di test valutando se l'output del programma è quello atteso compilando/interpretando ed eseguendo il codice. All'eventuale rilevazione dell'errore di semantica e di runtime segue la fase di debugging, ossia di individuazione della parte di software, a volte molto complesso, nella quale si annida l'errore. Spesso tale operazione viene svolta dal programmatore di pari passo con la stesura del codice stesso, testando continuamente il codice ed evitando così l'accumulo degli errori.

Questa attività è supportata da programmi specifici (debugger) messi a disposizione dall'IDE grazie anche all'uso di breakpoint su linee di codice e dai messaggi di standard error emessi nei file di log (es. rilevamento eccezioni nelle console dell'IDE), che indicano e mostrano allo sviluppatore l'esecuzione, istruzione per istruzione, del programma, permettendo nel contempo l'analisi dei dati trattati dal programma stesso. In assenza di tali strumenti per le attività di debugging, si ricorre alla più semplice, ma anche meno efficace tecnica di stampare a video o su file le istruzioni che il programma sta eseguendo, inserendo a tal scopo nel codice delle istruzioni di debug che evidenzino il punto di arrivo dell'esecuzione del programma fino all'errore. Sempre a questo scopo, il programmatore può, con l'ausilio dei commenti, far eseguire solo alcune parti del codice o al contrario non far eseguire particolari parti del codice, sospette di causare l'errore. Una volta individuato l'errore nel codice il programmatore corregge l'errore in maniera iterativa finché il programma non fa ciò che è desiderato.

Una terza fase di debug è quella che il programmatore deve risolvere quando il software prodotto è stato mandato in fase di testing o collaudo al rispettivo team ed è stato rimandato indietro con la lista dei difetti riscontrati; in genere in questi casi molto spesso sono presenti errori nella stesura o interpretazione delle specifiche rispetto a ciò che è realmente desiderato senza andare in errore.

Una quarta fase di debug può avvenire quando in fase di utilizzo del programma da parte dell'utente finale questi riscontra delle anomalie; in genere in questi casi si ingenera un errore con relativo messaggio che viene inviato tramite Internet alla casa produttrice del software che aggiornerà periodicamente con nuove release senza errori o aggiornamenti il prodotto (es. Microsoft Windows).

Accorgimenti per accelerare il processo di debug

[modifica | modifica wikitesto]

Corretto atteggiamento mentale

[modifica | modifica wikitesto]

è necessario fare autocritica, e accettare il fatto che il programma non si comporta come dovrebbe e che si è fatto un errore, cosa del tutto normale e frequente in fase di sviluppo; se tutto fosse stato previsto e non ci fossero errori, il programma funzionerebbe correttamente, ma spesso questo risultato non si ottiene quasi mai alla prima stesura del codice, ma solo per successive modifiche e correzioni. Tale atteggiamento mentale incrementa significativamente la possibilità di trovare e risolvere dei bug.

Usare file di log

[modifica | modifica wikitesto]

Oltre all'uso della console dell'IDE è opportuno creare uno o più file di log che può risultare molto utile per verificare se il programma funziona come previsto, e cosa succede prima, dopo e durante il verificarsi del malfunzionamento.

Fare attenzione all'input fornito al programma

[modifica | modifica wikitesto]

Tutti gli input forniti dall'utente devono essere validati prima sintatticamente e successivamente anche semanticamente dal programma prima di essere elaborati. Ciò migliora anche la sicurezza del programma.

Memorizzare le tipologie di errori

[modifica | modifica wikitesto]

Nel caso si siano già scritti dei programmi simili e ci si sia trovati a bug simili a quello attuale, è buona norma, sulla scorta dell'esperienza, cercare di ricordare l'errore commesso e la soluzione adottata.

Accorgimenti per ridurre la necessità di debug

[modifica | modifica wikitesto]

Disegno del codice

[modifica | modifica wikitesto]

Disegnare accuratamente le strutture dati e le funzioni nella programmazione strutturata e le classi in quella orientata agli oggetti è il sistema migliore per ridurre gli errori nel codice e nel facilitare l'individuazione dell'errore nel caso il programma non funzioni correttamente.

Leggibilità del codice

[modifica | modifica wikitesto]

L'utilizzo di convenzioni chiare per i nomi delle variabili, funzioni, classi, metodi e costanti, così come quello di nomi parlanti, ovvero che rendano chiaro l'utilizzo di una componente e, soprattutto, evitare di riutilizzare la stessa componente per scopi diversi, rende più chiaro e leggibile il codice anche a fronte di una ricerca di errori.

I commenti sono fondamentali, soprattutto se il codice viene scritto a più mani. In particolare, il commento deve dare un valore aggiunto all'istruzione. Ad esempio, se l'istruzione è

lordo = tara + netto ;

non ha senso scrivere un commento come

/* il peso lordo è uguale a quello netto più la tara */

perché si evince già dal nome delle variabili. Un commento come

/* "tara" è una costante definita nel file costanti.php */

è sicuramente molto più utile.

Voci correlate

[modifica | modifica wikitesto]

Altri progetti

[modifica | modifica wikitesto]

Collegamenti esterni

[modifica | modifica wikitesto]
Controllo di autoritàLCCN (ENsh85036145 · J9U (ENHE987007543228905171
  Portale Informatica: accedi alle voci di Wikipedia che trattano di informatica
什么心什么气 维酶素片搭配什么药治萎缩性胃炎 早餐吃什么简单又营养 梦见旅游是什么意思 交感神经是什么
跳大神是什么意思 今年什么生肖年 环比增长什么意思 梦见小鬼是什么预兆 梦见孩子拉粑粑是什么意思
什么是碧玺 开塞露用多了有什么副作用 上半身皮肤痒什么原因 双肾尿酸盐结晶是什么意思 虾膏是什么
宫腔线分离是什么意思 1104是什么星座 撑台脚是什么意思 无穷是什么意思 梦见自己孩子死了是什么意思
孕晚期吃什么好hcv9jop5ns4r.cn 1年是什么朝代hcv9jop5ns7r.cn 火华念什么hcv7jop9ns1r.cn 结婚25年属于什么婚hcv8jop4ns8r.cn 农历10月是什么星座hcv8jop4ns9r.cn
高血压高血糖挂什么科hcv8jop4ns0r.cn 什么的灵魂hcv8jop8ns8r.cn 爱因斯坦是什么学家yanzhenzixun.com 做nt挂什么科hcv8jop0ns3r.cn 伟五行属什么hcv7jop5ns4r.cn
im什么意思xinmaowt.com 刚怀孕有什么办法打掉yanzhenzixun.com 大便检查能查出什么病hcv8jop6ns7r.cn 8月15日什么星座cl108k.com 痤疮用什么药hcv7jop5ns3r.cn
喝什么最容易减肥hcv8jop6ns4r.cn 一字千金是什么生肖hcv8jop5ns5r.cn 什么是几何图形hcv8jop0ns3r.cn 过江龙是什么意思hcv8jop2ns6r.cn 2007年属什么hcv9jop4ns4r.cn
百度