[英]How can I detect stack overflow in a command line app. written in C++ on macos?
我有一個xcode項目,代碼在C ++中。 我已經在遞歸函數中查明了導致程序不正常的原因,堆棧中有太多東西……我不會確定問題是堆棧溢出,恢復壞東西並設置陷阱來防止堆棧溢出。 我怎樣才能做到這一點?
到目前為止,我已經為clang找到了“ -fstack-protector-all”,但是一旦編程就不知道會發生什么。 已經跑了。 我也找到了“ -fsanitize =”,但是我不知道'='之后寫什么。
謝謝。
沒有確定堆棧溢出的確定方法。 您可以嘗試將最佳“ MAGIC”值放在堆棧的頂部,並且在每個新方法調用中,最好的方法是檢查該“ MAGIC”值在以前是否仍然存在,並且沒有被溢出。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.