• ベストアンサー

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です。

質問者が選んだベストアンサー

  • ベストアンサー
noname#208124
noname#208124
回答No.2

$ENV{DISPLAY}を設定する必要があるとか何とか まずはApacheのエラーログを確認してはどうですか

zyousuke
質問者

お礼

dummさん、ご返信ありがとうございます。 私はただいま出張に飛ばされておりますので、 dummさんのアドバイスに対するアクションは週末に行います。 そのときご報告しますので、また見に来てくださいね! これは私が趣味で作ったサーバーなので帰宅するまで触れないのです^^

zyousuke
質問者

補足

dummさん、ご報告します。 Apacheのエラーログを確認したところxlibのエラーが発生しておりました。 そこで、xhostでローカルホストを追加してみたら、できました!! 私の本にもxhostで通信許可するマシンを追加する旨の記載があったのですが、 今回はローカルホストからのテストでしたので、その必要無しと、勝手に判断しておりました。 なぜか同じローカルホストでも、コマンド行からはOKで、ブラウザーからはNGのようです。 これって常識ですか^^

その他の回答 (1)

  • sakusaker7
  • ベストアンサー率62% (800/1280)
回答No.1

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スクリプトをこれでデバッグするんでしょうか?

zyousuke
質問者

お礼

sakusaker7さん、ご返信ありがとうございます。 そうですDevel::ptkdbです。 デバッグのやり方ですが。。。 コマンド行でこのスクリプトを実行すると、デバッガーが起動して、ビジュアルベーシックみたいにステップ実行とかができるようになります。 これをブラウザーから呼び出したときも、同様にデバッガーが起動し、ステップ実行とかの機能が使えるそうなのです。 しかし、デバッガーが起動する気配はなく、ブラウザーはInternal Server Errorとなってしまうのです。 これの対処法を教わろうと思い、ここへ質問に参りました。

関連するQ&A