如果 condition 為真,簡單使用自動運行時工具不能檢測發生的內存泄漏。仔細進行源分析可以從此類條件推理出證實正確的結論。我重復一下我寫的關于風格的內容:盡管大量發布的內存問題描述都強調工具和語言,對于我來說,最大的收獲來自“軟的”以開發人員為中心的流程變更。您在風格和檢測上所做的任何改進都可以幫助您理解由自動化工具產生的診斷。
靜態的自動語法分析
當然,并不是只有人類才能讀取源代碼。您還應使靜態語法分析 成為開發流程的一部分。靜態語法分析是 lint、嚴格編譯 和幾種商業產品執行的內容:掃描編譯器接受的源文本和目標項,但這可能是錯誤的癥狀。
希望讓您的代碼無 lint。盡管 lint 已過時,并有一定的局限性,但是,沒有使用它(或其較高級的后代)的許多程序員犯了很大的錯誤。通常情況下,您能夠編寫忽略 lint 的優秀的專業質量代碼,但努力這樣做的結果通常會發生重大錯誤。其中一些錯誤影響內存的正確性。與讓客戶首先發現內存錯誤的代價相比,即使對這種類別的產品支付最昂貴的許可費也失去了意義。清除源代碼,F在,即使 lint 標記的編碼可能向您提供所需的功能,但很可能存在更簡單的方法,該方法可滿足 lint,并且比較強鍵又可移植。
內存庫
補救方法的最后兩個類別與前三個明顯不同。前者是輕量級 的;一個人可以容易地理解并實現它們。另一方面,內存庫和工具通常具有較高的許可費用,對部分開發人員來說,它們需要進一步完善和調整。有效地使用庫和工具的程序員是理解輕量級的靜態 方法的人員?捎玫膸旌凸ぞ呓o人的印象很深:其作為組的質量很高。但是,即使最優秀的編程人員也可能會被忽略內存管理基本原則的非常任性的編程人員攪亂。據我觀察,普通的編程人員在嘗試利用內存庫和工具進行隔離工作時也只能感到灰心。
文章來源于領測軟件測試網 http://www.kjueaiud.com/