• ベストアンサー

お勧めのデバッグツールは?

CGIでちょっと凝った掲示板を作成していますが、なかなか思うように進みません。 そこで、お勧めのデバッグツールがあったら、教えて下さい。 変数の中身やトレースして、おっかけたいのです。 開発環境OSは、WindowsXP Proです。 ちなみに言語は、CとVBA経験あり、Perlは初心者

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

  • ベストアンサー
  • Ethersky
  • ベストアンサー率71% (168/235)
回答No.3

> Web上でクリックされたとき(サブミットされたときなど)に機能しているサブルーチンなどは、これではデバッグできないということでしょうか? あらかじめその操作が行われたと仮定して動作するように、分岐の部分やQUERY_STRINGSの値を変えておくとか、Windowsの環境変数にあらかじめセットしておくことで可能になります。 コマンドプロンプトであらかじめ SET xxx=yyy ただ、Windowsの場合文字列中に = があるとダメなので、この場合は前者の方法しか使えません。 UNIXのsh・bashであれば host:~$ export "QUERY_STRINGS=mode=hoge&action=huge" というように = が入っていても大丈夫です。 > 変数の中身をチェックしたりするにはどうすれば良いですか? 単純に、表示させたい所でprint文を使って表示させちゃいましょう。 print 表示させたい変数; 書き加えるのが少々面倒ですが確実な方法です。 デバッグ終了後に消しておくのも忘れずに。

THUBAN
質問者

お礼

ありがとうござます! 助かります。

全文を見る
すると、全ての回答が全文表示されます。

その他の回答 (3)

  • hrm_mmm
  • ベストアンサー率63% (292/459)
回答No.4

>> 変数の中身をチェックしたりするにはどうすれば良いですか? >単純に、表示させたい所でprint文を使って表示させちゃいましょう。 >print 表示させたい変数; >書き加えるのが少々面倒ですが確実な方法です。 >デバッグ終了後に消しておくのも忘れずに。 私もこの方法をよく使います。 デバッグ後に消すのは、数が多いと結構面倒なので、 デバッグprint関数を作って、このなかのprint文をコメントアウトすると いっぺんにすべてのデバッグ出力をクリアできるという方法を重宝して使っています。 sub debug_print{ print @_; ### デバッグ終了後この行をコメントアウト } &debug_print ("a=$a;list=",@list);

THUBAN
質問者

お礼

ありがとうござます! 早速使ってみたいと思います。

全文を見る
すると、全ての回答が全文表示されます。
  • Ethersky
  • ベストアンサー率71% (168/235)
回答No.2

プロンプトです。 「スタート」→「ファイル名を指定して実行」→「cmdと入力してOK」 スクリプトのあるディレクトリに移動してから perl -d スクリプトのファイル名 なお、あたりまえですがperlのパスが通ってないとだめです。 余談ですが、Perlの文法のチェックはwとcの両方のオプションを指定してできます。(チェックだけならcですが、wをつけると警告もしてくれます。) perl -wc スクリプトのファイル名

THUBAN
質問者

補足

ありがとうございます。 あのあと、操作に関してはわかりました。 このツールだと、最初からワンステップづつ実行され、&htmlが呼び出されたところで一気にHTMLがダンプされて終わりますが、Web上でクリックされたとき(サブミットされたときなど)に機能しているサブルーチンなどは、これではデバッグできないということでしょうか? また、一行づつ単位で変数の中身をチェックしたりするにはどうすれば良いですか?

全文を見る
すると、全ての回答が全文表示されます。
  • Ethersky
  • ベストアンサー率71% (168/235)
回答No.1

perlにdオプション(run program under debugger)をつけて perl -d hogehoge.cgi これで一行ずつ何をしているのか表示しながら処理してくれます。 次の行を処理させるときはnを入力してEnter。

THUBAN
質問者

補足

早速のご回答ありがとうございます。 “perl -d xxxxx.cgi”は、コマンドでしょうか? Windows XPのどこから操作すれば良いでしょうか?

全文を見る
すると、全ての回答が全文表示されます。

関連するQ&A

  • PHPソースの解析やデバッグに使うツール

    PHPソースの解析やデバッグに使うツール c言語などのコンパイラ言語には優秀なIDEが多数ありますが 皆さんはPHPの開発をする時どのようなツールを使用しているのですか? フリーのPHPソースを解析する際、ステップ実行しながら変数の中身をウォッチ したりしながらソース解析したいのですが、VisualStadioのような便利なIDEはないのですか? そのようなツールなしにPHPソースを書くとすると無茶苦茶大変な気がするのですが 皆さんは、その困難を乗り越えてPHP開発をされているのですか? 素人な質問ですみませんが、詳しい方がいましたら教えてください。

    • ベストアンサー
    • PHP
  • phpのデバッグ機能について

    教えてください。 今、phpを勉強していこうと考えています。 そこでphpを学ぶ上でnotepad++を使っていたのですがデバッカ機能がない(方法がわからないだけ?) のでデバッグ機能を実装しているツールを教えて頂けませんでしょうか? ・やりたい機能 1,vbのようにブレークポイントが設定できる。 2.変数の中身が表示できる。 3,ログが取れる 以上のようなデバッグ機能です。 (visual basic のような感じです。) 初心者ですので、上記機能が画像でインストールから操作説明まで記載しているサイト を教えていただければものすごくありがたいです。 以下開発環境を記載します。 何卒宜しくお願いいたします。 os :windows7 php v.5.3.1 + MySQL 5.1.41

    • ベストアンサー
    • PHP
  • ツール等を作成する際の言語について

    実は今ツールやソフトなどを作成するために自学で頑張っているのですがツールなどを作成する場合の作成言語とはどのようなものでしょうか?ちなみに自分はcgi,perl,c++は多少使えますのでどうかご回答よろしくお願いします

  • デバッグ情報が画面から流れないようにするには。

    膨大な量のデータを処理するプログラムを完成しました。私の環境は、ネット回線も細くパソコンも性能が低いこともあいまって、全ての処理を終えるのに2~3日かかるプログラムです。 それでも2~3日待てば処理が終わるのです。 やったー、と思ったまでは良いですけど、いざ動かしてみると、何やら警告が出ます。幸いまだデバッグ用の変数書き出しコードを削除していなかったので、だいたいバグが出たあたりが分かりました。処理結果を見てみると、確かに処理されたデータが壊れています。はて、何が原因かと、処理がその箇所を過ぎるあたりに注目しながらもう一度プログラムを動かしてみても、何故か今度は警告も出ないし、データを確認しても壊れていません。さっきのは一体なんだったのか。。。 とにかく再現できないことにはデバッグのしようもないので、プログラムの処理状況が分かりやすいように、変数の書き出しを削除せずに、あらためて今プログラムを動かしています。 プログラムを動かしてバグを再現するのは、デバッグの当然の手法でしょうが、変数を打ち出せば、なんせ2~3日かかるプログラムだけに、画面に大量の書き込みがなされて、警告が出ても流れてしまいます。そうかといって2~3日、ずっと画面を眺めているわけにもいきません。 変数をファイルに書き出すようにしても、警告はディスプレイに出ますから、するとどの時点で警告が出たのか、そのときの変数の値がどうだったのか、ファイルとディスプレイを時系列的に照らし合わせることが出来なければ、今ひとつ判断に困ります。 perl bugtuki.pl > test.txt のようにすれば警告もファイルに書き出すことが出来ますが、2~3日待たなければ、ファイルを開くことができません。 警告をファイルに書き出して、そのファイルをプログラムの処理中に見る方法などあるでしょうか。そのほか、この手の状況で、迅速にデバッグ情報を把握する方法がございましたらご教授ください。 一応DOS窓の画面バッファの高さを最大限にはしました。 言語はPerl 5.14.2。デバッグツールとしてActive Perl社のPerl Div Kit 8.2.1を使っています。

  • ツールを探しています。

    いろいろなperlの勉強をしてきました。 私はperlを使いCGIを作成しています。 もっと効率良くするために作成するツールを探しています。どうかそのようなツールを取り扱っているサイトや本、お店、企業、まさにこれだという物があればそのようなソフト、どうしても内容であれば作成する方法などの情報があればアドバイスをいただけないでしょうか?お願いします。(必死!!)

  • Java開発ツール

    お忙しいところ失礼いたします。質問があるのですがお時間よろしでしょうか? いままでCbuilderをつかてアプリ作成していたのですが、これからアプレット を作成したいとおもいました。 (WEB上で動くならいいのですが・・・・他に何かあります?.NETはいやです。また、Perlではだめです。) そこで、いくつかの心配事があります。 1)JbuilderPersonalはCbuilderのような操作ですか? 2)JbuilderPersonalはアプレットの作成は可能ですか? 3)Java以外の言語の選択肢はありますか?もしくは、Jbuilder以外の選択したほうが賢明ですか? どうぞ、宜しくお願いします。 メモ帳で開発して、デバグ(ステップ実行&変数内容表示)だけツール使いたいなーとも考えています。何良いツールはありますでしょうか?

    • ベストアンサー
    • Java
  • linux 上での C言語開発のデバッグ環境

    linux 上で C言語を使った開発をするようになったのですが、みなさんは、デバッグなどはどうなさっているでしょうか?私は、Emacsは使うことが出来ます。 Windows では Visual C++ (.net) を使っていて、「ソース上でマウスのポインタを変数に合わせれば、変数の値を確認できる」など、デバッグが便利だったのですが、linux上ではどうするものでしょうか? ネットで調べると、emacs をエディタとして開発している人が多いみたいなので、どうしていらっしゃるのかなと思いました。

  • IE8開発者ツールでソースの修正

    JavaScriptのデバッグにIEの開発者ツールを使用してみようと考えています。 そこで質問なのですが、 開発者ツールでデバッグしている最中に、JavaScriptのソースプログラムを修正するにはどうしたら良いのでしょうか? ブレイクポイントの設定やステップ実行、変数の値を表示するなどの使い方はわかったのですが、バグの原因がわかった時、直接ソースを修正しようと、左側の画面にカーソルを移動しましたが、修正ができませんでした。 HTMLの属性などは、ダブルクリックすると書き換えることが可能なようですが、JavaScriptも同様に修正することはできないのでしょうか? 開発環境は WindowsXP IE8 です。 よろしくお願い申し上げます。

  • CGIプログラムのデバッグ

    VisualC++5.0で、CGIのモジュールを作成してます。 これからで出来上がったプログラムのテストを行おうとして気づいた点があるのですが... この処理の中では、送信されてきたパラメータを解析しようと、 環境変数の"CONTENT_LENGTH"や"QUERY_STRING"を取得する処理をやっているのですが、 実際にVC++5.0のデバッガを動かしてみると、上の環境変数が設定されてない(当たり前ですが...) ために、null値しかこなくデバッグできずにいます。 VC++5.0のデバッグ機能で上の環境変数を設定しておきたいのですが、 何か良い方法はご存知ないでしょうか?

  • Perlのデバッグ方法って。。。ないでしょうか??_no

    こんにちは。よろしくお願いします。 Perl担当者の方が休まれているため、急遽、Perlシステムの修正作業を行うことになったPerl初心者の者です。 普段はASPを使っているので、デバッグ時に「response.write」など、処理内容をブラウザ上に表示させてしまう~などのことが可能なのですが。。。 Perlの場合、何か方法は無いでしょうか?? 多分、この変数とこの入力値の比較の時に不正があるんだろ??のような部分は発見したのですが。。。その値~の表示ができないので、確証が持てない&修正が容易ではないです。 Perlのデバッグは。。。どのように行っているのでしょうか。。。? ご存知の方いましたら、ご教授願えませんでしょうか。よろしくお願いします。 (エラーについての質問は別で立てさせていただきたいと思います。

    • ベストアンサー
    • Perl