- ベストアンサー
ptkdbを使ってCGIプログラムをデバッグしたい
#!/usr/bin/perl -d:ptkdb use CGI; print(CGI->new->header, "abc"); 原因を解明するために超簡易スクリプトを作成しました。 このスクリプトはブラウザーにabcと表示するはずです。 しかし Internal Server Error となってしまいます。 このスクリプトから -d:ptkdb の部分を取り除くと、ちゃんとabcと表示されるのです。 また、コマンド行では-dオプションの有無に関係なくちゃんとabcと表示されます。。。 誰か教えてくださいm(__)m サーバー機はRedHatLinux7.2です。
- みんなの回答 (2)
- 専門家の回答
質問者が選んだベストアンサー
- ベストアンサー
$ENV{DISPLAY}を設定する必要があるとか何とか まずはApacheのエラーログを確認してはどうですか
その他の回答 (1)
- sakusaker7
- ベストアンサー率62% (800/1280)
ptkdb って、Devel::ptkdb ですよね? Andrew E Page / Devel-ptkdb - search.cpan.org http://search.cpan.org/dist/Devel-ptkdb/ >Perl debugger using a Tk GUI ってあるんですけど、どうやってCGIスクリプトをこれでデバッグするんでしょうか?
お礼
sakusaker7さん、ご返信ありがとうございます。 そうですDevel::ptkdbです。 デバッグのやり方ですが。。。 コマンド行でこのスクリプトを実行すると、デバッガーが起動して、ビジュアルベーシックみたいにステップ実行とかができるようになります。 これをブラウザーから呼び出したときも、同様にデバッガーが起動し、ステップ実行とかの機能が使えるそうなのです。 しかし、デバッガーが起動する気配はなく、ブラウザーはInternal Server Errorとなってしまうのです。 これの対処法を教わろうと思い、ここへ質問に参りました。
お礼
dummさん、ご返信ありがとうございます。 私はただいま出張に飛ばされておりますので、 dummさんのアドバイスに対するアクションは週末に行います。 そのときご報告しますので、また見に来てくださいね! これは私が趣味で作ったサーバーなので帰宅するまで触れないのです^^
補足
dummさん、ご報告します。 Apacheのエラーログを確認したところxlibのエラーが発生しておりました。 そこで、xhostでローカルホストを追加してみたら、できました!! 私の本にもxhostで通信許可するマシンを追加する旨の記載があったのですが、 今回はローカルホストからのテストでしたので、その必要無しと、勝手に判断しておりました。 なぜか同じローカルホストでも、コマンド行からはOKで、ブラウザーからはNGのようです。 これって常識ですか^^