• ベストアンサー

デバッグとビルドは何が違うのですか?

コード編集画面にて、 ・デバッグの開始 ・ビルド がありますが、 デバッグの開始をした場合もビルドはされますよね? という事は、デバッグ=ビルドでもあるのですか?

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

  • ベストアンサー
  • kmee
  • ベストアンサー率55% (1857/3366)
回答No.2

ビルドは、コンパイルその他、目的のものを生成する作業のこと。 Visual Basicなら、ソースコードをコンパイルして.exeや.dllを生成します。 デバッグは、プログラムにある問題(バグ)を取り除く作業のこと。 デバッグ方法は沢山ありますが、そのうちの一つが「デバッガ」と呼ばれる支援ツールを使う方法。 これは、実際にプログラムを動作させながら、途中で止めて変数の内容を確認/変更したり、1命令ずつ実行して期待した順番に実行されているか確かめたりします。 この2つは、まったく別のものです。 デバッガでデバッグするためには、プログラムを動作させる必要があります。 Visual Basicの場合、プログラムを動作させるために、ソースコードからビルドする必要があります。 ソースコードを編集しても、ビルドしなければ、デバッガが使うのは「古いソースコードからビルドされた実行プログラム」になってしまい、デバッグ作業が無意味になります。 このため、Visual Studio では、デバッガを使うときに、ソースコードとビルド後のファイルを確認して、必要ならビルドするようになっています。 「デバッグの開始」を詳しく書けば「ソースコードが新しいなどでビルドの必要があるならばビルドして、その後に、デバッグを開始」となるでしょう

wovbnjcmxn8
質問者

お礼

ありがとうございました。

その他の回答 (1)

  • wormhole
  • ベストアンサー率28% (1619/5653)
回答No.1

ビルド: 実行ファイルなどを作ること デバッグ: 実行ファイルを動かしてバグの調査などを行うこと。 デバッグするには実行ファイルが必要なので、ビルドで実行ファイルを作成する必要があるというだけで、デバッグ=ビルドではありません。

wovbnjcmxn8
質問者

お礼

わかりやすいご説明ありがとうございました。

関連するQ&A

  • ビルドとデバッグは

    ビルドとデバッグは どっちから先にやればいいのでしょうか?

  • vbaとvb 「デバッグ」「ビルド」

    vbaの「デバッグ→VBAプロジェクトのコンパイル」=VB.netで言う「ビルド」、 vbaの「実行」=VB.netの「デバッグ開始」 であってますか? デバッグ=コンパイル=ビルドなのか混乱しています。 いろいろな言葉が出てきて頭がぐちゃぐちゃなので整理したいです。 よろしくお願いします。

  • ビルドやコンパイルやデバッグと言うチェック行為

    HTMLでコードを書くにおいては ビルドやコンパイルやデバッグと言うチェック行為がないのでしょうか? エディタによってはあるのですか? そもそも ビルドやコンパイルやデバッグ がチェック行為なのかはあまりよく理解していません。

    • ベストアンサー
    • HTML
  • リリースビルドで遅くなる

    非常に大量のコードを書いた後で気づいたので 挙動からおそらくその辺だと「思われる」のですが Windows XP SP 3で、Visual C++で デバッグビルド・リリースビルドしたときの速度を比較してみると おそらく、メモリマップドファイル絡みの個所で  現状なぜかリリースビルドの方が遅くなります。 巨大なファイルを1度扱ってから再度ほぼ同じ個所を使用した時 デバッグビルドではその間にアプリケーションを1度終了したとしても、その後別に巨大なファイルを使ったりしなければ どうもシステム的に(?)何らかのキャッシュが効いているようで 1回目で23秒程度かかる処理が、2回目以降は7秒弱で出来てしまいます。 (これは100回やったら99回以上はなるんでは?というくらい安定しています) 対してリリースビルドでは 最初の1回は同じくらいですが 2回目以降でも16秒程度はかかってしまう感じです。 なお、そのけた外れに長い演算の末に出来上がるfloatの配列は、デバッグビルド・リリースビルドで端から端まで完全に一致する、という確認もできています。 アプリ的に 2回目以降の時間を短縮できた方が非常に都合が良いのですが ビルドの設定はほとんど同じですが、これは仕様でしょうか? もしこれがキャッシュの方式の問題、であるのなら Windows APIなどを使うことにより対処可能な問題でしょうか? あるいは、デバッグビルド・リリースビルドの違いによるものではなく このアプリケーションのデバッグビルドによって出来た実行ファイルの方に 以前関連付けを行ったりするように(アイコンや、独自ファイル形式ダブルクリックで開けるように) レジストリを書き換えたのですが これによってシステムから「なんらかの優先事項」を享受できるようになっているため だったりする、という可能性もあるのでしょうか?

  • vscodeでGOのデバッグができなくなった

    VScodeでGOLANGのデバッグができません。 GOのバージョンアップを行いました 環境変数等はしっかりと通しており、CodeRunnerでは動きます。 また、ターミナル上でもgo run で動いております。 しかし、デバッグを開始のボタンに移ると 「Failed to continue:Check the debug console for details.」 と出てlaunch.jsonを編集するような画面が出ます。 なにか設定が必要なのでしょうか。 よろしくお願いいたします。 前やった時はこのような画面が出なかったため戸惑っています。

    • ベストアンサー
    • Java
  • デバッグ時はOK、デバッグ無しで開始するとERROR

    現在、VisualStudio .NET 2003 にてC++でプログラミングを行っているのですが、 [デバッグ→開始]で実行しますとエラーは起こらず実行できるのですが、[デバッグ→デバッグなしで開始]を行うとオーバーフローエラーが起きるという現象に苦しんでいます。 両者の違いはデバッグ用のソースコードを埋め込むか埋め込まないかだけの違いだと思っているもので、いまいち納得ができていません。 (特にデバッグ時に、このエラーを検知できない所が) このような現象は、よくあることなのでしょうか? もしもあるのでしたら対策方法などを教えていただけましたら幸いです?

  • VB2010のデバッグの開始が遅い。

    Visual Basic 2010 を始めました。 あるプログラムを、コードを表示した状態でデバッグすると開始までに約50秒かかります。コードを非表示にした場合は1~2秒で開始、終了します。どういう原因が考えられるでしょうか? なお、途中でタイトルバーに(応答なし)の表示が出ます。エラーメッセージは出ません。 プログラムは250行程度のもので、他のプログラムでは問題ないようです。

  • デバッグ開始でbin\Releaseにファイルが作成されてしまう。

    デバッグ開始でbin\Releaseにファイルが作成されてしまう。 Visual Studio 2008でC#によるWindowsアプリケーションを作成しているのですが、デバッグ開始を実行するとbin\Releaseにexeファイルなどが作成されてしまいます。 ビルドするとbin\Releaseにexeファイルなどが作成されます。 デバッグ開始の実行でbin\Debugにexeファイルなどが作成され、ビルドするとbin\Releaseに作成されるようにしたいのですが、どうすれば良いですか? ちなみに***.vshost.exeはbin\Releaseに作成されます。 これもbin\Debugに作成されるようにしたいです。

  • デバッグ終了後、再度デバッグ動作できない

    簡単な電卓のプログラムを組んで、ビルド後デバッグして、一旦デバッグ終了のためにフォームの右上の×ボタンで終了し、再度デバッグ動作を実行するとデバッグに入れなくなります。 一旦Code Gear C++ Builder 2009を終了使用とすると、”デバッグを終了しますか?”というメッセージボックスが出てきます。 そのままIDEの終了動作を行うと”デバッグプロセスを初期化できません のプロセスを終了する際にデバッガで致命的なエラーが発生しました。作業中のファイルを保存し CodeGear C++ Builderを再起動してください。” このようなメッセージボックスが出てきて強制終了してから起動しないかぎり再度デバッグ動作ができないのですが、解決方法ご存じの方いらっしゃいませんでしょうか? 現在使用しているのはCode Gear C++ Builder 2009 です。

  • VC++6.0 「プロセスへアタッチ」でのデバッグについて

    VC++6.0(SP3)を使っています。 プロセスにアタッチしてデバッグする方法があります。 ・「ビルド」→「デバッグの開始」→「プロセスへアタッチ」 通常、この方法で現在動作しているプロセスの一覧が表示されるはずなのですが、 全く表示されなくて困っています。 原因、アドバイスなど、何かご存知の方がいればご教授願います。

専門家に質問してみよう