デバッグ版 – プログラミング – Home

通知
すべてクリア

デバッグ版


なぜ
 なぜ
(@なぜ)
ゲスト
結合: 22年前
投稿: 2
Topic starter  

VC++のdebug版でビルドされた*.exeにはデバッグ情報を含んでいるらしいのですが
*.objを削除したあと実際にデバッグしてみるとビルドしますかと聞かれ結局ビルドを
しないとだめなのですがどうしてでしょうか。*.exeだけあればデバッグできると
思ったのですが、*.objもデバッグには必要なのでしょうか?


引用解決済
トピックタグ
島
 島
(@島)
ゲスト
結合: 23年前
投稿: 238
 

>*.objを削除したあと実際にデバッグしてみるとビルドしますかと聞かれ
>*.objもデバッグには必要なのでしょうか
どのような手順でデバッグしようとしたか教えて下さい
それから、OS はなんですか、VC++ のバージョンは何ですか?


返信引用
なぜ
 なぜ
(@なぜ)
ゲスト
結合: 22年前
投稿: 2
Topic starter  

失礼しました。
vc++6.0 windows2000です。
ビルドしたあと、debugフォルダに作成された*.objを削除して、
vcでF10キーでデバッグを実行しようとしました。
そのときに、ビルドをするように促されたのです。
*.exeのみあればデバッグできるとおもっていたのですが...


返信引用
7of9
 7of9
(@7of9)
ゲスト
結合: 22年前
投稿: 14
 

>ビルドをするように促されたのです。
「いいえ」を選択できませんでしたか?

win98SE vc++6.0(SPなし) で、いいえを押すと
デバッグが始まりますが。


返信引用
こん!
 こん!
(@こん!)
ゲスト
結合: 22年前
投稿: 11
 

> ビルドしたあと、debugフォルダに作成された*.objを削除して、

objファイルを何故消さなければならないのかにも興味があるのですが・・・


返信引用
島
 島
(@島)
ゲスト
結合: 23年前
投稿: 238
 

Visual Studio からプログラムの実行を行なおうとしたとき、ビルド可能かどうか検査しない
で、いきなり実行してしまったら、ソースが変った場合のみならず、ライブラリーや、何かが
変わった事による再ビルドの機会を逃してしまい正しい実行ファイルでの実行が出来なくなる
からでしょう
この場合 *obj は *.exe を構築するために必要な要素で、*.obj は *.cpp 等から構築する
ように依存関係が決まっている場合は、やはり、 *.obj を再構築する必要があると判断する
のは何も不思議は無いのではありませんか?


返信引用
PATIO
(@patio)
Famed Member
結合: 4年前
投稿: 2660
 

具体的には、デバッガーで追跡するときにソース行と実行コードの対応が
取れなくなってデバッガ上でめちゃくちゃな位置に飛んだりします。
そういう状況でデバッガを使っても全く意味がありません。
そのため、実行ファイルが現在のソースでビルドされたものかを簡単に検査する方法とし

ビルドチェックを行っているのでしょう。
そのため、結果的に*.objがないとビルドチェックに引っかかりメッセージが出るのだと
思います。


返信引用

返信する

投稿者名

投稿者メールアドレス

タイトル *

プレビュー 0リビジョン 保存しました
共有:
タイトルとURLをコピーしました