VSCODE調試時在cygwin.S中發生段錯誤
- 起因
- 解決方法
- 啟示
起因
我試了試1000×1000維的數組遞歸,結果運作時在cygwin.S裡引發了奇奇怪怪的Segmentation fault,而且這個檔案還是一片空白,壓根就沒有代碼。

後來一番研究,爬github,最終确定是爆棧了。
解決方法
動态記憶體配置設定,這樣開辟的是空間充裕的堆記憶體,而不是僅有幾個M的棧記憶體。
啟示
特别是遞歸的時候,一定要注意遞歸棧的深度不要太深,不然容易爆。
我試了試1000×1000維的數組遞歸,結果運作時在cygwin.S裡引發了奇奇怪怪的Segmentation fault,而且這個檔案還是一片空白,壓根就沒有代碼。
後來一番研究,爬github,最終确定是爆棧了。
動态記憶體配置設定,這樣開辟的是空間充裕的堆記憶體,而不是僅有幾個M的棧記憶體。
特别是遞歸的時候,一定要注意遞歸棧的深度不要太深,不然容易爆。