Mic*_*ens 5 c crash malloc macos memory-management
I am allocating memory in a C program using malloc. It's possible for my program to allocate more memory than the system has room for, at which point the program crashes. For my purposes it would be better if malloc would just return NULL (like it's apparently supposed to), so I can catch the error. Instead what it does is it throws an error saying "No memory available to program now: unsafe to call malloc." And crashes the program.
How can I fix this?
Edit: I know that the program is crashing by itself and not because I'm trying to reference a null pointer. The program never directly calls malloc, but instead calls a function I wrote that calls malloc and then checks to see if it returns NULL. It's never saying that malloc returned NULL.
Edit 2: If it's helpful, here is the complete error output:
程序接收信号:“ EXC_BAD_ACCESS”。
sharedlibrary apply-load-rules所有
警告:无法恢复先前选择的框架。
暂时不可用的数据格式化程序,将在“继续”后重试。(正在调试的程序在从GDB调用的函数中发出
信号
。GDB 保留在接收信号的帧中。要更改此行为,请使用“ set unwindonsignal on”
。将放弃对包含函数(dlopen)的表达式的求值。 )
现在没有可用的内存来编程:不安全地调用malloc
| 归档时间: |
|
| 查看次数: |
2580 次 |
| 最近记录: |