1
我遇到一個問題,我不知道如何調試它用C++編寫,並根據fastcgi一個FCGI程序。如何調試快速通用網關接口(FCGI)程序?
的程序由Lighttpd的spawn-fcgi管理和nginx的fastcgi的模塊調用。
我寫了一個shell腳本重啓產卵-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;
}
現在我wroking上的index.cgi,改變一些代碼(可能與錯誤的邏輯)。程序崩潰了,502 Bad Gateway已在我的瀏覽器中返回。
這是我很難找出什麼是錯在我的計劃,因爲FCGI編程'作爲Nginx的回調函數。所以我不能按調試按鈕,並正常地調用我的程序。
那麼,怎樣才能正確地我和方便地調試我的程序?
使用GDB或添加記錄到程序,或兩者兼而有之。 –