Сбой приложения (SIGABRT) при доступе к основному циклу выполнения?

0
AppXYZ(2111,0xb04a3000) malloc: *** mach_vm_map(size=1207959552) failed (error code=3)
*** error: can't allocate region
*** set a breakpoint in malloc_error_break to debug
libc++abi.dylib: terminating with uncaught exception of type std::bad_alloc: std::bad_alloc

Как получить символическую информацию из вышеперечисленных журналов отладчика?

Например, мне нужно знать класс адреса (0xb04a3000), точное местоположение ошибки в коде и так далее.

Теги:
class

2 ответа

1
Лучший ответ

В gdb я просто буду делать то, что он говорит, т.е. поставить точку останова в упомянутой функции:

$ gdb AppXYZ
[... gdb starts ...]
gdb$ break malloc_error_break
gdb$ run

Воспроизводит то, что вызвало крах. Неформально это похоже на то, что он пытается выделить более 1 ГБ памяти в одном вызове malloc(), что довольно дерзко в некоторых средах.

0

С вашего поста я бы сказал, что у вас закончилась память.

Malloc was not able to allocate the requested memory

Это связано с тем, что вы должны запросить выделение большого объема памяти с помощью malloc.

Я предлагаю вам уменьшить объем выделенной памяти и попробовать.

Обратитесь к коду Malloc Error Code = 3 и Malloc Error для получения более подробной информации

Ещё вопросы

Сообщество Overcoder
Наверх
Меню