Пример исходного кода:
#include <stdio.h>
#include <stdlib.h>
#include <errno.h>
#define GIGABYTE 1024*1024*1024
int
main (void)
{
void *foo;
int result;
foo = (void *) malloc (GIGABYTE*5);
result = errno;
if (foo != NULL) {
return 2;
} else {
fprintf (stderr, "ERROR: %d\n", result);
return 1;
}
return 0;
}
Вопрос:
- Как указать gdb (
# gdb -silent ./huge_malloc
) остановить / остановить выполнение , если malloc ()
возвращает 0x0
, без проверки, является ли foo
0x0
задан Aaron 21 December 2010 в 11:53
поделиться