簡體   English   中英

什么可以阻止C ++中的堆棧展開過程?

[英]What could prevent a stack unwinding process in C++?

我不確定該如何處理。 這個問題是在關於異常的講座之后給出的,所以我認為這與它有關。

默認信號處理程序或對abort()exit()調用可以防止堆棧中斷。

還有更多的情況,如馬赫的評論中指出的那樣。

特別是繞過c ++異常模型的任何機制都可以做到這一點。 甚至線程都有一個模型,可以進行適當的堆棧釋放,並傳播到其父對象(如果未分離)。

退出作用域后,將開始展開堆棧,這意味着編譯器將插入對自動變量的析構函數的調用,如本答案所述

為了防止此過程,您可能需要突然退出該過程,這可能是斷電,通過命令行強制退出該過程等。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM