все нормально или какой нибудь зависимости нету ?
присутствует ли
и не повреждена ли
libthread_db.so.1
libthread_db.so.1
-- это библиотека интеграции libc с отладчиком, никакие приложения её сами по себе не используют. приложения стали падать с ошибкой сегментации сразу после вызова. Что интересно - если запустить их из-под GDB - приложения спокойно себе работают...
LD_LIBRARY_PATH
/LD_PRELOAD
. Посмотри/покажи, что у тебя в переменных окружения. Попробуй очистить эти переменные и запустить падающие приложения в таком состоянии. Сравни вывод printenv
в консоли (при запуске из которой приложение падает) с выводом show environment
в gdb (при запуске из которого приложение работает). поэтому до появления override было сложно понять, что производный класс предоставляет виртуальные методы?
override
гарантирует, что если в базовом классе функция не виртуальная, то код не соберётся. Как я понимаю, эта фича нацелена на поддержку случая, когда может потребоваться менять определения виртуальных функций базового класса: с использованием override
наследники которые не обновлены вслед за базовым классом не скомпилируются, а без использования функциональность наследников будет просто молча поломана. Подозреваю, что в случае гиганских размеров std::array есть вероятность, что он может быть расположен в куче (подтверждений и опровержений этому не нашел!).
An array is an aggregate
, из чего следует, что он целиком размещается в одном месте, вне зависимости от размеров. -icount 5
чтобы примерно зафиксировать тактовую частоту процессора на 30МГц, заменил -M pc
на -M isapc
и добавил -cpu 486
. С этими изменениями я вижу что процесс загрузки попадает в цикл с ошибкой из-за деления на 0 ----------------
IN:
0x000f8fb7: 59 popw %cx
0x000f8fb8: f7 f1 divw %cx
0x000f8fba: 8b c8 movw %ax, %cx
0x000f8fbc: a3 00 f8 movw %ax, 0xf800
0x000f8fbf: ba 0e 00 movw $0xe, %dx
0x000f8fc2: b8 6e 23 movw $0x236e, %ax
0x000f8fc5: f7 f1 divw %cx
0x000f8fc7: bb 04 00 movw $4, %bx
0x000f8fca: 3d c2 01 cmpw $0x1c2, %ax
0x000f8fcd: 76 6b jbe 0x903a
Trace 0: 0x7fc9de5c7180 [000f0000/000f8fb7/0x40]
check_exception old: 0xffffffff new 0x0
----------------
IN:
0x000fea97: 50 pushw %ax
0x000fea98: 52 pushw %dx
0x000fea99: ba 20 00 movw $0x20, %dx
0x000fea9c: e8 41 00 callw 0xeae0
Trace 0: 0x7fc9de5c7440 [000f0000/000fea97/0x40]
----------------
IN:
0x000feae0: b0 0b movb $0xb, %al
0x000feae2: ee outb %al, %dx
Linking TBs 0x7fc9de5c7440 [000fea97] index 0 -> 0x7fc9de5c76c0 [000feae0]
Trace 0: 0x7fc9de5c76c0 [000f0000/000feae0/0x40]
----------------
IN:
0x000feae3: e3 00 jcxz 0xeae5
Linking TBs 0x7fc9de5c76c0 [000feae0] index 0 -> 0x7fc9de5c7800 [000feae3]
Trace 0: 0x7fc9de5c7800 [000f0000/000feae3/0x40]
----------------
IN:
0x000feae5: e3 00 jcxz 0xeae7
Trace 0: 0x7fc9de5c7940 [000f0000/000feae5/0x40]
----------------
IN:
0x000feae7: ec inb %dx, %al
Trace 0: 0x7fc9de5c7a80 [000f0000/000feae7/0x40]
----------------
IN:
0x000feae8: 0a c0 orb %al, %al
0x000feaea: c3 retw
Linking TBs 0x7fc9de5c7a80 [000feae7] index 0 -> 0x7fc9de5c7bc0 [000feae8]
Trace 0: 0x7fc9de5c7bc0 [000f0000/000feae8/0x40]
----------------
IN:
0x000fea9f: 74 20 je 0xeac1
Trace 0: 0x7fc9de5c7d80 [000f0000/000fea9f/0x40]
----------------
IN:
0x000feac1: 48 decw %ax
0x000feac2: 1e pushw %ds
0x000feac3: 6a 40 pushw $0x40
0x000feac5: 1f popw %ds
0x000feac6: a2 6b 00 movb %al, 0x6b
0x000feac9: 1f popw %ds
0x000feaca: 5a popw %dx
0x000feacb: 58 popw %ax
0x000feacc: cf iretw
Linking TBs 0x7fc9de5c7d80 [000fea9f] index 1 -> 0x7fc9de5c7f00 [000feac1]
Trace 0: 0x7fc9de5c7f00 [000f0000/000feac1/0x40]
----------------
IN:
0x000f8fc5: f7 f1 divw %cx
0x000f8fc7: bb 04 00 movw $4, %bx
0x000f8fca: 3d c2 01 cmpw $0x1c2, %ax
0x000f8fcd: 76 6b jbe 0x903a
Trace 0: 0x7fc9de5c8380 [000f0000/000f8fc5/0x40]
check_exception old: 0xffffffff new 0x0
Trace 0: 0x7fc9de5c7440 [000f0000/000fea97/0x40]
Trace 0: 0x7fc9de5c7940 [000f0000/000feae5/0x40]
Trace 0: 0x7fc9de5c7a80 [000f0000/000feae7/0x40]
Chain 0: 0x7fc9de5c7d80 [000f0000/000fea9f/0x40]
Trace 0: 0x7fc9de5c8380 [000f0000/000f8fc5/0x40]
MegaLite, неа, не перестанет. Просто остановится.
нифига не к отвалу. введёшь в консоли
continue
-- и всё полетит дальше.