2011-12-01 28 views
1

當我的函數在運行時第5次或第6次調用時。 我開始從perror();得到這個「內存不足」的錯誤perror顯示內存不足 - 如何調試?

我該如何調試/疑難解答問題出在哪裏? 在哪裏可以看到我的程序在運行時的總內存使用情況或運行時允許的最大內存使用情況?

有什麼辦法可以在運行時處理這些錯誤,並重新加載程序或釋放程序使用的整個內存?

我正在使用Turbo C編譯器。編輯: 沒有動態內存分配正在使用。

編輯: 如果從main()調用函數,然後該函數調用另一個函數,並再次該函數調用一個不同的函數,有點像循環。這可能導致內存問題?所有這些函數都是返回類型void。

+1

您可能想向我們顯示導致問題的代碼。 – Bart

+0

@Bart我已經添加了perror()的代碼,並且發生錯誤。 –

+0

如果您在調用cleardevice()和gotoxy()之前調用'perror()'調用會發生什麼? – ninjalj

回答

0

這是一個堆棧溢出。

由於嵌套函數而發生。 使用malloc.h中的stackavail()函數追蹤錯誤