[VC++]ブレークポイントからの再開はできない?

フォーラム(掲示板)ルール
フォーラム(掲示板)ルールはこちら  ※コードを貼り付ける場合は [code][/code] で囲って下さい。詳しくはこちら
moba
記事: 82
登録日時: 8年前

[VC++]ブレークポイントからの再開はできない?

#1

投稿記事 by moba » 8年前

お世話になっています。
とても簡単なことだと思うのですが、検索しても分からなかったので質問させてください。
VC++(2010Edition)で、ウォッチ機能を使うために、キーボードのBを押したらブレークポイントに来るようにしました。他にブレークポイントはつけていません。
問題は、一度ブレークポイントに来た後、動作を再開してほしいことです。
ステップ実行と言うのでしょうか、1行ずつ処理する機能はありますが、引き続き(分岐してブレークポイントに来るまで)処理を続けて、止まらないようにすることができませんでした。(※再開したいのはウィンドウに画像を表示したりするループです。)
やり方があれば、教えていただけませんか。

アバター
softya(ソフト屋)
副管理人
記事: 11677
登録日時: 13年前
住所: 東海地方
連絡を取る:

Re: [VC++]ブレークポイントからの再開はできない?

#2

投稿記事 by softya(ソフト屋) » 8年前

F5を押してみてください。
by softya(ソフト屋) 方針:私は仕組み・考え方を理解して欲しいので直接的なコードを回答することはまれですので、すぐコードがほしい方はその旨をご明記下さい。私以外の方と交代したいと思います(代わりの方がいる保証は出来かねます)。

moba
記事: 82
登録日時: 8年前

Re: [VC++]ブレークポイントからの再開はできない?

#3

投稿記事 by moba » 8年前

ありがとうございます。1度F5を押すと
スレッド '○○' (▲▼) はコード 0 (0x0) で終了しました。
と出るので諦めていましたが、2回目を押すと再開してくれました!

アバター
softya(ソフト屋)
副管理人
記事: 11677
登録日時: 13年前
住所: 東海地方
連絡を取る:

Re: [VC++]ブレークポイントからの再開はできない?

#4

投稿記事 by softya(ソフト屋) » 8年前

二回目というのは気になりますね。
実害がないとか、理由が分かっているなら別に良いですが。
by softya(ソフト屋) 方針:私は仕組み・考え方を理解して欲しいので直接的なコードを回答することはまれですので、すぐコードがほしい方はその旨をご明記下さい。私以外の方と交代したいと思います(代わりの方がいる保証は出来かねます)。

moba
記事: 82
登録日時: 8年前

Re: [VC++]ブレークポイントからの再開はできない?

#5

投稿記事 by moba » 8年前

解決にした後ですみません。

< 2回目というのは気になりますね

コードを変えると、2回目でもダメになってしまいました。
どうも、F5で再開した後、またすぐにブレークポイントに辿り着いてしまったようです。

コード:

while( ScreenFlip()==0 && ProcessMessage()==0 && ClearDrawScreen()==0 )
{
	cont->All();
	fps.Update();	//更新
	fps.Draw();		//デバッグ用
	if(CheckHitKey(KEY_INPUT_B) != 0)
	{
		int a = 0;//ここにブレークポイント
	}
	fps.Wait();		//待機
}
このように書くと、一度Bを押すと、Bを話した状態でF5を押しても、一瞬でブレークポイントに戻ってしまいました。
Bを押すとブレークポイントに着き、F5で再開できるようにするには、どのようにすればいいでしょうか。

アバター
softya(ソフト屋)
副管理人
記事: 11677
登録日時: 13年前
住所: 東海地方
連絡を取る:

Re: [VC++]ブレークポイントからの再開はできない?

#6

投稿記事 by softya(ソフト屋) » 8年前

http://dixq.net/g/02_09.html
こちらのフレーム数をカウントする仕組みを使えば、1カウント目だけブレークすれば大丈夫だと思います。
あるいは、一度キーを離すまでブレークしない仕組みを入れるかですね。
by softya(ソフト屋) 方針:私は仕組み・考え方を理解して欲しいので直接的なコードを回答することはまれですので、すぐコードがほしい方はその旨をご明記下さい。私以外の方と交代したいと思います(代わりの方がいる保証は出来かねます)。

moba
記事: 82
登録日時: 8年前

Re: [VC++]ブレークポイントからの再開はできない?

#7

投稿記事 by moba » 8年前

ありがとうございます。
そういえば、元々その仕組みを使っていたので、1F目のときのみ分岐するようにします。

ウォッチウィンドウを見ると、F5を見るたびに
Bの入力フレーム数が1ずつ増えていたと思うのですが、
なぜBは押したままということになっていたのでしょうか。
上記のcont->All()から入力フレーム数を更新していますが、
F5を押した時点でBキーから指を話しています。

アバター
softya(ソフト屋)
副管理人
記事: 11677
登録日時: 13年前
住所: 東海地方
連絡を取る:

Re: [VC++]ブレークポイントからの再開はできない?

#8

投稿記事 by softya(ソフト屋) » 8年前

まだキー入力として残っているんだと思います。
ライブラリの中を調べてませんが、リアルタイムに取得するAPIを利用していないじゃ無いんじゃないかと。
気になるならライブラリのソースコードをみてください。
by softya(ソフト屋) 方針:私は仕組み・考え方を理解して欲しいので直接的なコードを回答することはまれですので、すぐコードがほしい方はその旨をご明記下さい。私以外の方と交代したいと思います(代わりの方がいる保証は出来かねます)。

moba
記事: 82
登録日時: 8年前

Re: [VC++]ブレークポイントからの再開はできない?

#9

投稿記事 by moba » 8年前

ありがとうございます。そこまで気にはならないので調べませんね…

閉鎖

“C言語何でも質問掲示板” へ戻る