VBのデバック機能で思うこと
投稿者 魔界の仮面弁士  (社会人)
投稿日時
2013/3/8 09:40:09
> 本当にデバックの仕方は便利になっているなと感じました。
デバッ「グ」です。
> SQLサーバでストアドを書くとこのステップ実行が出来ないというのが恐ろしく不便で
使っているツールにもよりますが、SQL Server 2005 でもストアドをステップ実行はできますよ。
最新の Visual Studio 2012 + SQL Server 2012 はもちろんのこと、
Visual Studio 6.0 + SQL Server 7.0 の頃から使っていました。
手っ取り早いのは、SQL Server 環境上で Visual Studio を実行することですが、
あらかじめ、デバッグユーザー(あるいはサーバー管理者)の権限を用意した上で
サーバー側に SQL Serverデバッグ コンポーネント を入れておくなどの準備をすれば
クライアントからのリモートデバッグも可能です。
http://msdn.microsoft.com/ja-jp/library/ms165045%28VS.80%29.aspx
http://okwave.jp/qa/q3665478.html
デバッ「グ」です。
> SQLサーバでストアドを書くとこのステップ実行が出来ないというのが恐ろしく不便で
使っているツールにもよりますが、SQL Server 2005 でもストアドをステップ実行はできますよ。
最新の Visual Studio 2012 + SQL Server 2012 はもちろんのこと、
Visual Studio 6.0 + SQL Server 7.0 の頃から使っていました。
手っ取り早いのは、SQL Server 環境上で Visual Studio を実行することですが、
あらかじめ、デバッグユーザー(あるいはサーバー管理者)の権限を用意した上で
サーバー側に SQL Serverデバッグ コンポーネント を入れておくなどの準備をすれば
クライアントからのリモートデバッグも可能です。
http://msdn.microsoft.com/ja-jp/library/ms165045%28VS.80%29.aspx
http://okwave.jp/qa/q3665478.html
投稿者 とくま  (社会人)
投稿日時
2013/3/8 09:44:48
デバッガ自体の進化の恩恵で開発時に一行一行確認しながら実行できるというのは
本当に便利ですし、それをすれば、ほとんどのバグが潰せます。
(初心者レベルの質問をしている方はこれができていないようですが)
ただしこういったデバッグが十分にできない言語や環境の方が多いのではないでしょうか。
外部(例えばサーバ上)で動くプログラムや、デバッガの無い環境(本番環境とか)で
環境依存のバグが起こった場合など。
こういった場合は、ログを残すというのが基本になっていると思います。
inetpub\logs\LogFiles 然り、MSSQL\Log 然り、system32\config\SysEvent.Evt 然り。
本当に便利ですし、それをすれば、ほとんどのバグが潰せます。
(初心者レベルの質問をしている方はこれができていないようですが)
ただしこういったデバッグが十分にできない言語や環境の方が多いのではないでしょうか。
外部(例えばサーバ上)で動くプログラムや、デバッガの無い環境(本番環境とか)で
環境依存のバグが起こった場合など。
こういった場合は、ログを残すというのが基本になっていると思います。
inetpub\logs\LogFiles 然り、MSSQL\Log 然り、system32\config\SysEvent.Evt 然り。
投稿者 通りすがり  (社会人)
投稿日時
2013/3/9 11:16:55
まらいやさんではありませんが追加質問させてください。
デバッグとリリース(ビルド)ってなにが違うんですか?
他言語の話になってすみませんがPHPではXdebugというデバッガがあるらしいですが、PHPは普通に実行すればエラーなりなんなり分かりますよね。
デバッガ、デバッグってなんのためにあるんですか?
デバッグとリリース(ビルド)ってなにが違うんですか?
他言語の話になってすみませんがPHPではXdebugというデバッガがあるらしいですが、PHPは普通に実行すればエラーなりなんなり分かりますよね。
デバッガ、デバッグってなんのためにあるんですか?
投稿者 ヴァン  (社会人)
投稿日時
2013/3/11 10:25:39
こんにちは。
>デバッグとリリース(ビルド)ってなにが違うんですか?
これはビルドの方法です。
デバッグ作業を行うためのビルドとリリースするためのビルド。
デバッグ作業を行うためにいろいろな情報が付加されています。
>PHPは普通に実行すればエラーなりなんなり分かりますよね。
このエラーは文法的なエラーの事ですよね?
VBだとビルドエラー相当。
どちらもアルゴリズム的なエラーはすぐには判りませんよね。
PHPでもVBでもバグ取りのためにはデバッグ作業は必要になります。
>デバッガ、デバッグってなんのためにあるんですか?
要件通りに動作することを確認するためです。
>デバッグとリリース(ビルド)ってなにが違うんですか?
これはビルドの方法です。
デバッグ作業を行うためのビルドとリリースするためのビルド。
デバッグ作業を行うためにいろいろな情報が付加されています。
>PHPは普通に実行すればエラーなりなんなり分かりますよね。
このエラーは文法的なエラーの事ですよね?
VBだとビルドエラー相当。
どちらもアルゴリズム的なエラーはすぐには判りませんよね。
PHPでもVBでもバグ取りのためにはデバッグ作業は必要になります。
>デバッガ、デバッグってなんのためにあるんですか?
要件通りに動作することを確認するためです。
を読んでいて、本当にデバックの仕方は便利になっているなと感じました。
とまどったのが、ステップ実行を当たり前として身構えていたところ、SQLサーバでストアドを書くとこのステップ実行が出来ないというのが恐ろしく不便で、開発効率激悪なんだなぁとつくづく感じた次第です。 SQLサーバ2005ですが、多分出来ないのだろうと思います。
何気なしにステップ実行の恩恵というのはすごいもんだと、貴殿様記事を読んでいて共感しました。