日々の開発の際、デバッガを使われているのでしょうか。
自分の周囲だと俗に言うprintfデバッグ+ブラウザ上の目視確認のみしか使われておらず、ツールを使用しておりません。
これは珍しいケースなのか、あるいは巷ではWeb開発でもデバッガは当たり前すぎて話題にすらならないのか、どちらなのか、ご意見、または使用言語と実践しているデバッグ方法を教えてください。
PHPで開発を行っています。
以前は、logを出力するためのクラスを作っていましたが、現在は全く使用しておりません。
こんなのが有名みたいですが。
http://www.nurs.or.jp/~sug/soft/log4j/log4j1.htm
開発は、Windows上から、サーバ機に対して、Sambaでファイルアクセスして、vim+ブラウザで行っています。負荷テストには、JMeterを使ったこともありました。
http://www.atmarkit.co.jp/flinux/rensai/apache2_02/apache02a.htm...
phpを使ってますが、デバッガは別に使ってません。
ある程度はプラウザでエラーが分かりますし。
むしろ、動作を検証するためのテストツールとして
Seleniumを使うくらいです。
ありがとうございます。
Seleniumは話には聞きますが、便利そうですね。調べてみます。
デバックのやり方は人それぞれですが、自分はデバッガを使うことも多いです。
CGI 等の環境をエミュレーションしつつデバッガモードを起動します。
Perl なら、Eclipse + EPIC プラグインで実現できますし、手動で行う事も多いです。
Webアプリケーションだとデバッグ自体はしづらいので、スタックとレースだけとることも多いですね。
Perl なんかだとそれ用のモジュールがあったりしますので。
ありがとうございます。
Eclipseはデバッガが用意されていることが多いようですね。
動作ログを常にファイルに落とすようにしています。
ここに必要なデバッグ用の情報を出力しています。
(関数の引数とかキーとなる変数とかクエリとか)
そしてそれはパフォーマンスが要求されない限り
出荷してもほとんどそのまま残します。
何かトラブルがあったときログを送ってもらえば
全てがわかるので。
関数の単体テストでは最近はPeggyを試すようにしてますが
Webアプリとして組み込む前の話です
http://www.anchorsystems.co.jp/anchor/ashp/peggy/outlinephp.html
ありがとうございます。
動作ログを落とす方法はよさそうだと思いました。
ただ、どうやって変数をフックするのかが気になるところですが……。
PHPだとvar_dump, print_rがあるので、特に必要を感じません。
ブラウザで確認する場合は上に上げたものを<pre> </pre>でくるむような
関数を作っておいてページの先頭か終わりに表示するようにしておくだけで
結構便利です。
Webアプリケーションではないですが、次のページに
いろんな言語のデバッガ情報がまとめられています。
ありがとうございます。
var_dumpは私も使っています。
PHP開発用にZend Studioと,テストサーバにZend Platformを入れていて,しばしばデバッガを使います。たいていの場合は出力されるエラーの内容からどこが間違っているかわかるのですが,どうしてもよくわからないときにはデバッガが便利です。
あと,プロファイリング機能もあるので,実行速度が問題になるようなときには個々のメソッド・関数レベルでパフォーマンスチューニングを行えます。
Zend Studioは有料ですが,Zend Platformは開発環境用のライセンスなら無料で入手できます。
ありがとうございます。
ZendPlatformは環境を選びそうですが、使いこなせれば便利そうです。
ただ、本格的に使うとなると有料という部分が気になりますが。
rubyで開発する事が多いのですが,特別なツールは使ってません.
開発環境がLinuxなので,tail -f logfileを表示しながらvimでシコシココーディングしてブラウザで確認しての繰り返しです.
自分の好きなエディタを使ってエラーログが見れるのではかどります.
HTMLで表示する前のデバッグはRDEを使うこともあります.
ありがとうございます。
tail -fはいいですねえ。
PHPで開発を行っています。
以前は、logを出力するためのクラスを作っていましたが、現在は全く使用しておりません。
こんなのが有名みたいですが。
http://www.nurs.or.jp/~sug/soft/log4j/log4j1.htm
開発は、Windows上から、サーバ機に対して、Sambaでファイルアクセスして、vim+ブラウザで行っています。負荷テストには、JMeterを使ったこともありました。
http://www.atmarkit.co.jp/flinux/rensai/apache2_02/apache02a.htm...
ありがとうございます。
意外とデバッガを使われない人が多いようです。
Pythonでは標準添付のcgiライブラリの中にいろいろあるので
http://www.python.jp/doc/2.4/lib/node464.html
フレームワークなどを使わないcgiでも簡単にきれいな表示のトレースバックを得られます。
ありがとうございます。
Pythonは便利なものが標準で準備されているのですか。
http://www.atomar.de/public/code/debuglib/debuglib.demo.php
PHPで開発していますがdebuglib.phpを使ってprint_rよりも分かりやすいprint_aを使いデバッギングしています。
ありがとうございます。
自分はPHPを使うので、これはいいと思いました。
ありがとうございます。
意外とデバッガを使われない人が多いようです。