非IT企業に勤める中年サラリーマンのIT日記

非IT企業でしかもITとは全く関係ない部署にいる中年エンジニア。唯一の趣味がプログラミングという”自称”プログラマー。

テキストエディタでプログラミング どうやってデバックしているか聞きたい?

      2016/07/04

この記事で書いたとおり、僕はテキストエディタでプログラミングしています。便利なIDEを捨ててコツコツとプログラミングしているわけですが、IDEも使わずにどうやってデバッグしているのか、紹介しましょう。先に言っておきますが、前回、多くの人から炎上ご指摘いただいたように、結構面倒くさいこと書きます。

[ad#top-1]

その答えはメッセージボックスで変数の値をいちいち確認している

つまりですね、バグがありそうな値をいちいちメッセージボックスに映し出して確認しているのです。C#ならMessageBox.Show(); VBAならMsgBox() JavaScriptならalert(); Javaだとコマンドで実行するのでSystem.out.println(); こいつらを、コードのあらゆるところに仕込んで値を確認しています。

いやー、また怒られそう。

 

例えばこんな感じ

例えば、以下のC#のコードを実行すると実行エラーが発生します。

private void test(){
   int[] a = {5, 1, 3, 4, 7, 0};
   for(int i=0; i<a.Length; i++){
      double b = 5 / a[i];
   }
}

 

1

 

上の例は、ゼロで除算するとすぐにわかるのですが、これはあくまで例で、実際のもっと複雑なコードでは何でエラーが出るのかすぐにはわかりません。IDEを使っていないとデバッグ機能が使えないので、どうするかっていうと・・・。

private void test(){
   int[] a = {5, 1, 3, 4, 7, 0};
   for(int i=0; i<a.Length; i++){
       MessageBox.Show(a[i].ToString()); //←コレ(ドヤ顔)
      double b = 5 / a[i];
   }
}

 

そうするとですね、以下のメッセージが現れた後に実行エラーが出るので、ああそうか、ゼロを除算していたんだって判明する次第です。

2

 

また一緒に仕事したくないとか、いろいろ言われそうですが、僕はほぼ100%この方法でデバッグやってます。(ドヤ顔)

ということで、今日も硬派にテキストエディタでプログラミングしよっと。

[ad#ad-1]

 

スポンサーリンク

 - 技術系コラム