首頁>Club>
3
回覆列表
  • 1 # 使用者7914631559063

    1. 呼叫堆疊理解首先介紹一下什麼叫呼叫堆疊:假設我們有幾個函式,分別是function1,function2,function3,funtion4,且function1呼叫function2,function2呼叫function3,function3呼叫function4。在function4執行過程中,我們可以從執行緒當前堆疊中瞭解到呼叫他的那幾個函式分別是誰。把函式的順序關係看,function4、function3、function2、function1呈現出一種“堆疊”的特徵,最後被呼叫的函數出現在最上方。因此稱呼這種關係為呼叫堆疊(call stack)。

    2. 作用

    “呼叫堆疊”視窗可以檢視當前堆疊上的函式或過程呼叫。

    “呼叫堆疊”視窗顯示每個函式的名稱和編寫它所用的程式語言。函式或過程名可能伴隨有可選資訊,如模組名、行號、位元組偏移量以及引數的名稱、型別和值。 可以開啟或關閉這些可選資訊的顯示。

    一個黃色箭頭標識執行指標當前所位於的堆疊幀。 預設情況下,該幀的資訊顯示在源、“反彙編”、“區域性變數”、“監視”和“自動”視窗中。 如果想將上下文更改為堆疊上的另一個幀,可以在“呼叫堆疊”視窗中執行相應的操作。

    當除錯符號對部分呼叫堆疊不可用時,“呼叫堆疊”視窗也許就不能顯示那部分堆疊的正確資訊。

    常用的場景:

    當故障發生時,如果程式被中斷,我們基本上只可以看到最後出錯的函式。

    利用call stack,我們可以知道當出錯函式被誰呼叫的時候出錯。這樣一層層的看上去,有時可以猜測出錯誤的原因。

  • 中秋節和大豐收的關聯?
  • 想創業首先需要具備哪些條件?