簡體   English   中英

段故障后會發生什么?

[英]What happens after segfault?

我有一個關於段錯誤的基本問題。 以下偽代碼更好地解釋了我的問題。 我有一個指向外部api的指針,在運行它時,會發生segfault。 我的問題是接下來會發生什么。 指針api指向的內存會刪除嗎? 發生段錯誤后OS會做什么?

int main () { 
    XAPI* api = new XAPI();

    // Assume: there is a segfault while in run()
    // What happens after segfault
    // does `delete api;` get executed?

    api->run();

    delete api;

    return 0;

}

SIGSEGV的默認處理是終止並生成核心轉儲。 該進程被殺死,其相關資源被釋放。

除非程序處理該信號,否則不會執行以下任何代碼。

有關更多信息,請參見signal(7)手冊頁。

暫無
暫無

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

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