ОС: Ubuntu 11,10 вебсервер: Apache Код: PHPошибка сегментации при инициализации программы C помощью PHP
Привет Я пытаюсь «EXEC» код C через веб-страницы PHP. Когда я запускаю тот же C-код непосредственно на терминале, он работает нормально, но когда я «исполняю» его через PHP, я получаю ошибку сегментации.
Любая идея, почему такое поведение? Мой C-код делает небольшие «malloc» в нескольких местах. Код, тем не менее, отлично работает при прямом выполнении через терминал с использованием ./a.out
Есть ли способ для меня использовать gdb кода C, когда PHP пытается его выполнить?
Thanks
Вы можете подключить gdb к запущенному процессу, но если он работает быстро, это сложно. Лучшее решение - убедиться, что при сбое программы он генерирует дамп ядра, который может использоваться gdb для отладки. –
@Joachim, если у вас возникли проблемы с программой, когда вы можете прикрепить отладчик, и это относительно просто, просто создайте переменную локального флага, явно установленную в 1, затем поставьте что-то вроде времени (var) sleep (1); spinloop. Когда вы присоедините отладчик, вы можете установить переменную в 0, и программа продолжит работу. – bearda