2011-11-14 11 views
3

情報の多くは、ローカルの開発目的のためにXSPサーバを使用してデバッグを設定する方法については公式モノのウェブサイトからわずかexample提供されています:nginxでfastcgi-mono-server4のデバッグが可能ですか?

私は自分のスタックに行番号を希望することにより

をトレースデフォルトのxspとxsp2は「リリース」モードで実行されます。つまり、実行時に デバッグ情報が生成されません。あなたのスタックトレースにライン 数字をしたい場合、あなたは モノに--debugオプションを渡す必要があり、これは、このように、MONO_OPTIONS 環境変数でXSPまたはxsp2を呼び出すことによって行われます。

$ MONO_OPTIONS=--debug xsp 
Listening on port: 8080 (non-secure) 
Listening on address: 0.0.0.0 
Root directory: /tmp/us 
Hit Return to stop the server. 

あなたの場合Apacheでmod_monoを実行している、あなたはこのように、あなたの設定ファイルにMonoDebug ディレクティブを使用する必要があります。

MonoDebug true 

ことがnginxの上では可能ですか?

答えて

4

私はちょうど同じ問題に自分自身を実行し、それを修正することができましたしました:)

MONO_OPTIONS環境変数はモノラル実行可能ファイルに渡される追加のパラメータを保持することができます。あなたがもしそうなら:

export MONO_OPTIONS="--debug" 
fastcgi-mono-server-4 /applications="/:/srv/www/htdocs/mywebapp" /socket=tcp:127.0.0.1:9000 

あなたはまた、デバッグ情報を保持* .MDBファイルを展開し、もちろん、提供されるエラー時にデバッグ情報(行番号およびファイル)を、取得する必要があります。

私は個人的には次のようである the init script found hereのverison修正使用

#!/bin/sh 

### BEGIN INIT INFO 
# Provides:   monoserve.sh 
# Required-Start: $local_fs $syslog $remote_fs 
# Required-Stop:  $local_fs $syslog $remote_fs 
# Default-Start:  2 3 4 5 
# Default-Stop:  0 1 6 
# Short-Description: Start fastcgi mono server with hosts 
### END INIT INFO 

source /etc/mono-addon-env 
NAME=monoserver 
DESC=monoserver 

MONO_OPTIONS="--debug" 
MONOSERVER=$(which fastcgi-mono-server4) 
MONOSERVER_PID=$(ps auxf | grep fastcgi-mono-server4.exe | grep -v grep | awk '{print $2}') 

WEBAPPS="/:/srv/www/htdocs/mywebapp/" 

case "$1" in 
     start) 
       if [ -z "${MONOSERVER_PID}" ]; then 
         echo "starting mono server" 
         ${MONOSERVER} /applications=${WEBAPPS} /socket=tcp:127.0.0.1:9000 & 
         echo "mono server started" 
       else 
         echo ${WEBAPPS} 
         echo "mono server is running" 
       fi 
     ;; 
     stop) 
       if [ -n "${MONOSERVER_PID}" ]; then 
         kill ${MONOSERVER_PID} 
         echo "mono server stopped" 
       else 
         echo "mono server is not running" 
       fi 
     ;; 
esac 

exit 0 

しかしPAYの注意ます。initスクリプトは、FastCGIのデーモンを起動することをお使いの場合は、任意の初期化ツールを使用しないでくださいを(RHEL/CentOS)や「rcMonoserve start」のような、「サービス単調スタート」のようなものです。私にとってはこれはうまくいかず、initシステムが別の環境変数を持つ別のプロセスを生成すると思われます。安全のためには、スクリプトを直接呼び出すだけです( /etc/init.d/monoserve start )。/etc/rc.localなどに入れてください。

+0

私はこれをテストします。すばらしいです。 –

+0

このスクリプトは、主にRHEL/Centos 1.に2つの問題があります。標準RHEL initスクリプトではありません。2.環境変数:このスクリプトのユーザープロファイルを単純にソースして、この問題を単純に解決してください –

関連する問題