環境はWinXP VC6.0 MFCです。
確認したこと
・プロジェクトの設定のプリプロセッサの定義(DEBUG)
・リンクタブの[デバッグ情報を生成する]
この状態でブレークポイントが設定できません。
AfxDebugBreak()は効きます。
また、アプリケーションのCMainFrame::OnTimerなどではブレーク設定できませんが
AfxWinMain内ではブレークを設定できるようです。
なにか情報があったら教えてください。よろしくお願いします
全てデフォルト設定のままで、新しくプロジェクトを作っても
ブレークポイントの設定ができないのでしょうか?
VCのF9で設定とか、F5で実行とかといった、基本的な使い方はご存知ですよね?
そのような状態だとすると、私ならVCの再起動、PCの再起動、
VCの再インストールを順に試すかな。
再インストールの前に、もう少し色々調べると思いますが。
>VCのF9で設定とか、F5で実行とかといった、基本的な使い方はご存知ですよね?
さすがにそんなミスは(^^;
新しいプロジェクトや別のプロジェクトでは問題ありません。
件のプロジェクトで設定できないのは前からわかっていたのですが
デバッグ無しでどうにかなっていたので放置していました。
よってpc/vcの再起動はしていますし、多分再インストールしなくても
よいかと思うのです。
> 新しいプロジェクトや別のプロジェクトでは問題ありません。
・リビルドする。
・デバッグフォルダを削除する。aps、clw、ncb、optファイルを削除する。
・新しいプロジェクトに現プロジェクトのファイルを追加して実行する。
> また、アプリケーションのCMainFrame::OnTimerなどではブレーク設定できませんが
> AfxWinMain内ではブレークを設定できるようです。
そこを通っていることはもちろん確認しているんですよね?
色々試しているうちに基本的な確認を忘れていることもあるので、
TRACE文などで確認しましょう。
お返事ありがとうございます。
リビルドやフォルダ削除はやってるんで
>・新しいプロジェクトに現プロジェクトのファイルを追加して実行する。
これを試してみようと思います。
DLL等の同期ずれとか、ブレイクしたい対象とプロジェクトが違うとかあると、
VC6はブレイクポイントが利かず、「赤丸」が「白丸」になってしまったような…。
プロジェクトへのフルパスが、
日本語やら記号やらを含んだ長文だと、
VCが上手く動作しないこともありました
同じプロジェクト内なのに、ブレイクできる場所があったりなかったりし、
できない場所も、できる場所で止めてからF10などで一行一行進めていくと
そこまで到達できたり・・・とよくわからない動きでした。
> 同じプロジェクト内なのに、ブレイクできる場所があったりなかったりし、
> できない場所も、できる場所で止めてからF10などで一行一行進めていくと
> そこまで到達できたり・・・とよくわからない動きでした。
僕もVC6のバグだと思っていますが.....
2003でもおきますが、VC6ほどではないです。
ブレイクする位置を数行ずらして見るとかしてみたらどうでしょうか。
VC6はスレッドのルーチンで止めると暴走しやすいです。
別のドライブの”新しいフォルダ”へコピーでプロジェクトを実行で設定出来ました。
その後、元プロジェクトのフォルダ名をXXXX(日本語
からXXXXに変更したら設定できるようになったので名前の問題だったのかな?
という気がしています。
返信してくださった方々、ありがとうございました。
雑談ですが、
>VC6はスレッドのルーチンで止めると暴走しやすいです。
自分の環境ではInitInstanceでとめると高確率で暴走した覚えがあります。