Как отладить программу Fast Common Gateway Interface (FCGI)?
Я столкнулся с проблемой, что я не знаю, как отлаживать программу FCGI, написанную на C++ и основанную на fastcgi.
Программа управляется Lighttpd spawn-fcgi и вызывается модулем nginx fastcgi.
Я написал сценарий оболочки для перезапуска spawn-cgi:
#! /bin/bash
cgi_default="index.cgi"
process_pid="pid"
param_ip="127.0.0.1"
param_port="9000"
if [ -f "$process_pid" ]; then
pid=`cat $process_pid`
kill -9 $pid &> /dev/null
rm $process_pid
fi
spawn_out=`/usr/local/bin/spawn-fcgi -a $param_ip -p $param_port $cgi_default`
# spawn-fcgi: child spawned successfully: PID: 6423
pid=`echo $spawn_out | cut -d " " -f6`
expr $pid + 0 &> /dev/null
[ $? -eq "0" ] && echo "$pid" > $process_pid
Программа index.cgi была успешно собрана и просто распечатывает некоторые строки для вывода.
И моя конфигурация в nginx:
location / {
fastcgi_pass 127.0.0.1:9000;
include fastcgi_params;
}
Сейчас я работаю над index.cgi, изменяю некоторый код (возможно, с неисправной логикой). Программа потерпела крах, и в моем браузере была возвращена ошибка 502 Bad Gateway.
Мне трудно выяснить, что не так в моей программе, потому что программа fcgi действует как функция обратного вызова nginx. Поэтому я не могу нажимать кнопку "Отладка" и нормально загружать мою программу.
Так как я могу отладить мою программу правильно и удобно?