|
■No83453 (ピラニア さん) に返信 > ビルドだと実行が高速であるけれども > バグがあった場合にはクラッシュしてしまう
ビルドという用語の使い方を間違えている気がしますが、それはさておき。
例外をハンドルしきれていなかった場合の話をされているのだと思いますが、 デバッグビルドであっても、デバッガにアタッチしていなければクラッシュしますし、 リリースビルドであっても、デバッガにアタッチしていれば例外を補足出来ますよ。
> デバッグだと実行が低速であるけれども > ブレイクポイントで実行を止めることができる
リリース構成かどうかと、ブレークポイントで止まるかどうかは別問題です。 リリースビルドでもブレークポイントを利用することはできますし、 pdb が無ければ、デバッグビルドでもステップ実行できなかったりします。
デバッグとリリースの切替は、[構成マネージャー]ダイアログ等で、 ソリューション構成を Debug/Release それぞれに切り替える方法と、 プロジェクトごとにプロジェクト プロパティの[コンパイル]タブで 切り替える方法とがあります。
ここの構成が正しく行われているかを確認してみてください。 たとえば、ソリューション構成が Release の場合に、 プロジェクト構成が Debug と設定されてはいないでしょうか。
また、プロジェクトのプロパティの [コンパイル]タブで、 構成が Debug の時に、[詳細コンパイルオプション]の 「デバッグ情報を作成」が Full もしくは pdb-only に なっていることを確認してみて下さい。
あとは、「ソリューションのプロパティ」ダイアログを開いてみて、 [スタートアップ プロジェクト] が設定されているかを確認してみるとか。 プロジェクトがアクションなしに設定してあったりすると、 デバッグ開始ボタン(右向き三角)が使用不可になりますので。
■No83459 (ピラニア さん) に返信 > 64ビットでのビルド、デバッグはできるわけです。 > ビルドとデバッグの使い分けがうまくいかない、というのが質問内容です
再現手順が分からないのですが、新規プロジェクトでも同じ現象になりますか? また、クリーン後に VS を再起動してからリビルドしても解消されないでしょうか。
新規プロジェクトで発生しないなら、新しいソリューション&プロジェクトに 既存のソース取り込みなおしてみるのも手かと思います。
> ビルドとデバッグの使い分けがうまくいかない、というのが質問内容です
状況を整理してみましょうか。下記の内、「うまくいかない」のはどのパターンでしょうか。
(1)デバッグ構成でビルドする (2)リリース構成でビルドする (3)デバッグ構成でビルドしたものをデバッガにアタッチせずに実行する (4)リリース構成でビルドしたものをデバッガにアタッチせずに実行する (5)デバッグ構成でビルドしたものをデバッグ実行する (6)リリース構成でビルドしたものをデバッグ実行する (7)デバッグ構成でビルドしたものをステップインでデバッグ実行する (8)リリース構成でビルドしたものをステップインでデバッグ実行する
(1)(2) の「ビルド」については、『ソリューションのビルド』と『プロジェクトのビルド』があります。
ソリューションのビルドは、キーボードショートカットなら Ctrl+Shift+B。 メニュー操作なら、[ビルド]-[ソリューションのビルド]です。
一方、プロジェクトのビルドは、既定のキーボードショートカットはありません。 メニュー操作では、[ビルド]-[projectName のビルド]です。
もしくは、ソリューション エクスプローラーを右クリックして「ビルド」を 選択することでも、ソリューションビルドやプロジェクトビルドを実行できます。
(3)(4) の「デバッグなしで開始」は、キーボードショートカットなら Ctrl+F5 です。
メニュー操作は、[デバッグ]-[デバッグなしで開始]ですが、既定の環境設定では メニューに表示されていない可能性があります。
(5)(6) の「デバッグ開始」は、キーボードショートカットなら F5 です。 メニュー操作なら、[デバッグ]-[デバッグ開始]。 ツールバーにもアイコン(右向き三角)が用意されていますし、 ソリューション エクスプローラーの右クリックメニュー[デバッグ]にも同機能があります。
(7)(8) については、キーボードショートカットなら F11 です。 環境設定によっては、F8 にも同じ機能が割り当てられていることがあります。 メニュー操作では、[デバッグ]-[ステップ イン]。 こちらも、ツールバーのボタンおよび、ソリューション エクスプローラーの 右クリックメニューから実行させる事ができます。
|