Как отладить программу Fast Common Gateway Interface (FCGI)?

Я столкнулся с проблемой, которую я не знаю, как отлаживать программу FCGI, написанную на C ++ и основанную на FastCGI.

Программа управляется Lighttpd мицелий-FCGI и вызывается модулем nginx fastcgi.

Я написал сценарий оболочки для перезагрузки мицелий-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 был успешно построен и просто Printf некоторые строки для выхода из потока.

И моя конфигурация в Nginx:

location / {
fastcgi_pass    127.0.0.1:9000;
include         fastcgi_params;
}

Сейчас я работаю над index.cgi, изменить некоторый код (возможно, с неисправной логикой). Сбой программы и 502 Неверный шлюз был возвращен в моем браузере.

Мне трудно выяснить, что не так в моей программе, потому что программа fcgi действует как функция обратного вызова nginx. Поэтому я не могу нажимать кнопку «Отладка» и нормально загружать мою программу.

Итак, как я могу отладить мою программу правильно и удобно?

1

Решение

Да, GDB прикрепить запущенный процесс отладки очень поможет.

0

Другие решения


По вопросам рекламы [email protected]