天天看點

valgrind 報告 ecpg記憶體洩露 (二)

真是原因到底是什麼呢?

由于 EXEC SQL CONNECT 而導緻 valgrind 報告 記憶體洩露錯誤。

那麼在同一個程式裡面,加入  EXEC SQL DISCONNECT 後,會如何呢?

驗證的結果是,依然如此,還是會說 still reachable: 220 bytes in 1 blocks。

進一步的分析會發現,

即使沒有 EXEC SQL CONNECT 或者 EXEC SQL DISCONNECT

隻要有對 sqlca 的引用,就會出被報告錯誤。

 if(sqlca.sqlcode == 0){

           exit(0);

}

而一個很單純的程式,如果沒有上述一段程式,就不會被 valgrind 報錯。

本文轉自健哥的資料花園部落格園部落格,原文連結:http://www.cnblogs.com/gaojian/archive/2012/08/14/2637907.html,如需轉載請自行聯系原作者