Хорошо, я запускаю приложение PHP в командной строке на Ubuntu и заканчивается «Ошибка сегментации (core dumped)».Ошибка сегментации (ядро сбрасывается) в PHP
Как мне отсюда отладить его? Я уверен, что утечки памяти нет, поскольку я проверил ее уже с помощью get_memory_usage().
Редактировать: Хорошо, как объяснил Брендан и Ульрихт, я пробовал gdb. Это не моя среда вообще, так жаль новых проблем.
Я запустил свой код под gdb и получил segfault. Вот первые 22 строки.
(gdb) bt
#0 0x00000000006f5d36 in ??()
#1 0x00000000006f7625 in ??()
#2 0x00000000006f7b68 in zend_parse_parameters()
#3 0x0000000000610584 in zif_array_rand()
#4 0x00000000006dd9bb in dtrace_execute_internal()
#5 0x000000000079da15 in ??()
#6 0x0000000000717748 in execute_ex()
#7 0x00000000006dd8b9 in dtrace_execute_ex()
#8 0x000000000079e060 in ??()
#9 0x0000000000717748 in execute_ex()
#10 0x00000000006dd8b9 in dtrace_execute_ex()
#11 0x000000000079e060 in ??()
#12 0x0000000000717748 in execute_ex()
#13 0x00000000006dd8b9 in dtrace_execute_ex()
#14 0x000000000079e060 in ??()
#15 0x0000000000717748 in execute_ex()
#16 0x00000000006dd8b9 in dtrace_execute_ex()
#17 0x000000000079e060 in ??()
#18 0x0000000000717748 in execute_ex()
#19 0x00000000006dd8b9 in dtrace_execute_ex()
#20 0x000000000079e060 in ??()
#21 0x0000000000717748 in execute_ex()
#22 0x00000000006dd8b9 in dtrace_execute_ex()
Согласно https://bugs.php.net/bugs-generating-backtrace.php, я должен получить "выполнить" звонки, а у меня есть "execute_ex". То же самое?
Следующая команда в любом случае не возвращает имя функции (после того, как сделать кадр 6):
print (char *)(executor_globals.function_state_ptr->function)->common.function_name
Attempt to extract a component of a value that is not a structure.
edit2: Я бы знать, почему downvote. Я думаю, что это правильный вопрос, и я не нашел подобного для PHP. Если есть, то вы можете прокомментировать.
https://bugs.php.net/bugs-generating-backtrace.php –
http://superuser.com/questions/46259/why-does-php-throw-segmentation-fault-11-after-mysql -connect-or-on-mys –
Это совсем не связано. Эти парни знают, что у него есть segfault из-за mysql, в то время как у меня есть segfault, и я пытаюсь понять, откуда это происходит. – leyou