我在Solaris上使用g ++。有沒有什麼方法可以在內部或外部知道函數調用中到目前爲止我使用了多少堆棧大小?這是診斷可疑堆棧溢出所必需的。使用C++在Solaris上查詢運行時堆棧大小
1
A
回答
1
靜態分析: 如果您的應用程序的堆棧大小(檢查編譯器選項-fstack-usage)請求編譯器/鏈接器進行靜態分析。
動態分析/方法: 使用調試器並將條件(寫入訪問)斷點設置到堆棧的末尾。 如果應用程序寫入堆棧的末尾,調試器將停止並向您顯示調用堆棧和導致內存違規的函數。
+0
如何將條件斷點設置到堆棧的末尾(在gdb中)? –
1
DTractToolkit有一個stacksize.d。這可能值得一看。
相關問題
- 1. 在C中檢查堆棧大小#
- 2. 在Java中減少運行時的最大堆棧大小
- 3. 增加堆棧大小c#
- 4. 在C#中檢查堆完整性和堆棧大小
- 5. 在C#中更改堆棧的大小
- 6. 在Windows上增加堆棧大小(GCC)
- 7. Android堆棧大小
- 8. Linux堆棧大小
- 9. 堆棧= java.lang.StackOverflowError的:堆棧大小8MB
- 10. 在Solaris 10上檢查正在運行的進程正在使用的堆
- 11. Babel,使用path.replace時超出最大調用堆棧大小
- 12. Solaris上損壞的堆棧回溯
- 13. 運行時錯誤運行堆棧,這可能是由於數組大小
- 14. C++ vs2010增加堆棧大小
- 15. 在堆棧上聲明固定大小的字符數組C++
- 16. 在JavaScript中調用堆棧大小
- 17. 堆棧上EBP寄存器的大小?
- 18. 黑莓手機上的堆棧大小?
- 19. 在SSL上運行平均值堆棧
- 20. C++:使用堆棧
- 21. 何時在堆棧上分配固定大小的數組?
- 22. 增加AsyncTask堆棧大小?
- 23. LINQ堆棧大小問題
- 24. Android後退堆棧大小
- 25. 增加堆棧大小
- 26. 遞歸堆棧大小?
- 27. 遞歸堆棧大小
- 28. 可變堆棧大小
- 29. 在堆上傳遞數組並在堆棧上運行
- 30. 您可以在XP上調整C運行時堆段預留大小嗎?
相關/ dupe:https://stackoverflow.com/questions/2275550/change-stack-size-for-ac-application-in-linux-during-compilation-with-gnu-com – NathanOliver
@NathanOliver我想要知道我已經消耗了多少堆棧大小到目前爲止不是最大限制 –