Visual Studio中調用堆棧窗口的用途是什麼?Visual Studio中調用堆棧窗口的用途是什麼?
回答
每次調用方法時,都會在該線程的「堆棧」上放置一個條目,用於描述用於調用該方法的方法和參數。當方法返回時,該方法及其參數將從堆棧中移除。這就是操作環境知道方法完成時返回的位置。它只是從棧中刪除頂層條目,清除在該棧幀期間創建的任何局部變量,並返回到前一個方法。 (這是過於簡化,但通常是這個想法。)
你可以把它看作是一個「堆棧」的指令,讓你在這裏。
這就是對操作環境的意義。
對於開發人員來說,實際目的是幫助您理解程序處於所處狀態的原因。只要程序在調試程序中停止執行,可以通過斷點或拋出異常來執行(具體取決於您的Visual Studio設置),您將有權訪問當前的堆棧。請記住,此堆棧並不顯示所有已調用到此點的方法。任何完成的方法都從堆棧中移除。這不是日誌。
您可以雙擊堆棧中的任何條目以轉到該源代碼(如果它在您的計算機上可用)。當你在那裏時,你可以檢查局部變量等。這是一種偵測工具,可以幫助你找出到目前爲止你的程序中發生了什麼。
當您的代碼中斷(即拋出異常時),堆棧跟蹤窗口將向您顯示在引發異常的方法之前調用的所有方法,包括每種方法的參數以及這些方法的狀態參數。這使得調試更容易,尤其是在更復雜的調用圖中(即,當您無法通過查看調用其他方法/屬性/函數的代碼來確定時)。只需嘗試一下,在你的代碼(F9)的某處放置一個斷點,運行你的代碼,等待斷點被命中,然後打開堆棧窗口。您將看到所有呼叫到當前線路。您可以雙擊堆棧跟蹤窗口中的每個條目,並且光標將在其上跳轉。
如果您想知道:灰線是沒有源代碼或符號加載的方法調用。您可以右鍵單擊這些行並選擇加載符號以加載符號。
調用堆棧中的目的是讓您準確查看調用導致問題發生的原因。
當您查看異常中的堆棧跟蹤時,可以看到導致錯誤發生的原始調用。
在Visual Studio中進行調試時,可以上下瀏覽調用堆棧以查看應用程序在不同級別存儲的值。它在調試應用程序到達狀態時很有用。
調用堆棧窗口的目的是爲您提供訪問當前指令的完整代碼路徑。您可以使用它來導航到程序中的以前的函數調用,檢查局部變量,參數等等。它是確定代碼爲什麼要執行的非常寶貴的工具。
- 1. 在Visual Studio中錄製調用堆棧
- 2. 什麼是符號化調用堆棧?
- 3. 在Visual Studio F#調用堆棧問題
- 4. 如何在Visual Studio中顯示調用堆棧,Immediates和其他隱藏窗口
- 5. 什麼是神祕的調用堆棧?
- 6. -1。#IND000在Visual Studio調試窗口中的含義是什麼?
- 7. 在Visual Studio 2010中可視化調用方法調用堆棧
- 8. 在Visual Studio立即窗口中清除堆棧
- 9. 如何調試在Visual Studio中的錯誤調用堆棧
- 10. Visual Studio 2010中配置管理器的用途是什麼?
- 11. 調用堆棧中的「外部代碼」是什麼意思?
- 12. 如何在Visual Studio 2005中獲得完整的調用堆棧?
- 13. MIPS中的堆棧。 4在addi $ sp,$ sp,-4中的用途是什麼?
- 14. Visual Studio SQL調試窗口
- 15. 如何重新調用Ctrl + D,C調用堆棧窗口?
- 16. 1>在Visual Studio輸出窗口中的含義是什麼?
- 17. 什麼是Netbeans中的Visual Studio命令窗口相當於
- 18. Visual Studio觀察窗口中的問號(???)是什麼意思?
- 19. 什麼是Visual Studio生成窗口中的1>和2>?
- 20. 在Visual Studio 2010中調用堆棧時間機器
- 21. 在Visual Studio中監視調用堆棧大小
- 22. 什麼是基於堆棧的引用?
- 23. C++ getter和setter替代品調用堆棧上的Visual Studio
- 24. visual studio express中的堆棧跟蹤
- 25. 如何在VS 2013中查看模塊窗口和調用堆棧窗口?
- 26. 在PhantomJS中,函數調用堆棧限制是什麼?
- 27. 全堆棧,堆棧交換等,什麼是堆棧?
- 28. 在並行堆棧窗口中這意味着什麼?
- 29. 調節器ServiceType的用途是什麼?
- 30. 從Visual Studio中獲取堆棧跟蹤
我覺得傾向於增加投票結束。 – 2010-08-18 16:09:26