(ядро 2.6.23). Мой код скомпилирован с использованием G++ версии 4.7.4.
Я добавил следующий код для обнаружения ошибок сегментации:
Код: Выделить всё
void segFaultHandler(int sig)
{
void *array[10];
size_t size;
size = backtrace(array, 10);
fprintf(stderr, "Error: signal %d:\n", sig);
backtrace_symbols_fd(array, size, STDERR_FILENO);
exit(1);
}
Код: Выделить всё
main()
{
signal(SIGSEGV, segFaultHandler);
try {
// Program code here...
catch(const std::exception& ex)
{
std::cerr
Подробнее здесь: [url]https://stackoverflow.com/questions/34139308/how-to-identify-a-signal-11-error-location-in-this-c-program[/url]
Мобильная версия