有沒有一種方法可以像靜態分析工具一樣檢測簡單的內存泄漏?我無法更改代碼以包含運行時內存泄漏檢測中使用的tipical包含(struc1是包含某些字段的簡單結構)。視覺工作室的靜態代碼內存泄漏檢測vC++
void noRelease(void)
{
struc1 *memoryLeak;
memoryLeak = (struc1 *) malloc(sizeof struc1);
if (NULL != memoryLeak)
{
memoryLeak->a=3;
}
}
VSTS(Visual Studio Team System)檢測到由於異常導致的內存泄漏,但無法看到這個簡單的泄漏。
任何想法都會非常有幫助。 非常感謝。
沒人會永遠這樣寫代碼。你*可以*寫這樣的代碼並不意味着有人會發現編寫一個工具來檢測它是有益的。這不是有利可圖的。 – 2010-08-10 16:48:09
@Hans:當然,幾乎沒有人會寫這樣的代碼。這只是一個概念證明。如果一個工具無法檢測到這個,當然它不會檢測到更難的泄漏。 – 2010-08-11 07:00:36
@Hans - 問題是大量的人寫了類似的代碼,並且像這樣的代碼太多,但遺憾的是仍然在浮動。 – 2010-08-16 17:21:36