緩沖區溢位是與 C/C 程式堆疊相關的唯一可能的錯誤嗎?在單/多執行緒 C/C 程式中的程式堆疊中是否還有其他錯誤。
我正在閱讀有關并發錯誤的這篇論文(從錯誤中學習 - 對真實世界并發錯誤特征的綜合研究),并開始認為此類并發錯誤不會發生在堆疊中,因為它是執行緒私有的。
謝謝
uj5u.com熱心網友回復:
您可以嘗試使用過多的堆疊,通常會導致分段錯誤(硬體報告程式已嘗試訪問未映射或未針對嘗試訪問型別映射的記憶體,并且作業系統未處理)通過更改記憶體映射來提供訪問)。
您可能會錯誤地使用指標或陣列索引(不僅是緩沖區溢位,還有朝另一個方向的“下溢”或其他不正確的地址計算),破壞堆疊,這會以多種方式改變程式執行,導致程式控制轉移到不需要的位置或損壞資料并導致不需要的計算。
轉載請註明出處,本文鏈接:https://www.uj5u.com/qiye/379849.html
上一篇:段錯誤推送到C行內匯編中的堆疊
下一篇:使用多個結構的分段錯誤
