Memory corruption 分析 (C++)

Memory corruption 分析的複雜性


Memory corruption通常是因爲向一個不屬於本身的內存中寫數據或者是本身的內存值被損壞致使的。Memory corruption是屬於很難分析的一類bug,主要是由於當某個內存中的值被損壞的時候,在這個損壞內存的現場,通常不會暴露出什麼問題。這個被損壞的內存值有可能潛伏在其餘數據結構中很長時間,而且會隨着程序的運行不斷的傳播變異,致使最終很難定位到問題的根源。
Memory corruption在不一樣的狀況下會有不一樣的症狀,好比crash,這是因爲程序訪問無效內存地址致使的,這就是咱們常說的memory segmentation fault或者access violation exception,這就意味着當前指令所訪問的內存地址不屬於該進程的地址空間。還有一種狀況,程序訪問的地址是合法的,可是地址中的值是非法的,這個非法值就像是個定時炸彈,隨時可能致使程序出現奇怪的行爲。數據結構

Memory corruption 是如何發生的


Memory Overrun/Underrun
相關文章
相關標籤/搜索