ブレイクポイントの条件設定 – プログラミング – Home

ブレイクポイントの条件設定
 
通知
すべてクリア

[解決済] ブレイクポイントの条件設定


ガラ
 ガラ
(@ガラ)
ゲスト
結合: 20年前
投稿: 201
Topic starter  

OS XP,VC++6.0
ブレイクポイントを条件設定させたいのですが、どうすればよろしいのでしょうか?
#include stdafx.h
#include <iostream>
#include <string>

using namespace std;
int main(int argc, char* argv[])
{
static int a[]={1,2,3,4,5,6,7,8,9} ;

int i,i_max = sizeof(a)/sizeof(int) ;
for(i = 0 ; i < i_max ; i++) {
a[i]+=3 ; // i==5 のときこの行でブレイクさせたい。
}

cout << a[5] << endl ;
return 0;
}


引用未解決
トピックタグ
麩
 麩
(@麩)
ゲスト
結合: 17年前
投稿: 95
 

ソース画面でCtrl+Bのダイアログにそれっぽいのが。
もしくはASSERT マクロ。
もしくは自前でif文書いてブロックの中でブレーク。
もしくはそういう機能の充実したデバッガを使う。
OllyDbgとか…はアセンブリしかまともに使えないからアセンブリ分からないとダメ
か。


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

麩さんが書かれているのと同じ画面ですけれど、

メニューバーの「編集」-「ブレークポイント」から出てくるダイアログで出来ます。
このダイアログで条件を設定したいブレークポイントを選択して
データタブを選択します。
評価される式の所でi==5と書けば、出来るはずです。

ただし、条件設定をすると動作がガクッと遅くなります。
プログラムの規模にもよりますけれど、通常のデバッグの時よりも
待たされる感じなるので現実的な時間で戻ってくるかは確認して
見た方が良いと思いますよ。


返信引用
ITO
 ITO
(@ITO)
ゲスト
結合: 22年前
投稿: 1235
 

条件ってこれ?
>// i==5 のときこの行でブレイクさせたい。
このぐらいなら
少し変更して
if(i==5)
{
何らかの処理(Printf(i==5);等)← ここでブレ-クする。
}
でもだめですか?


返信引用
ITO
 ITO
(@ITO)
ゲスト
結合: 22年前
投稿: 1235
 

訂正です
 「printf」ですね(^^;


返信引用
tetrapod
 tetrapod
(@tetrapod)
ゲスト
結合: 21年前
投稿: 830
 

スキップカウントで十分だと思うが


返信引用
ガラ
 ガラ
(@ガラ)
ゲスト
結合: 20年前
投稿: 201
Topic starter  

麩さん、PATIOさん、ITOさん、tetrapod さん、レスありがとうございます。
掲載した、プログラムは、やりたいことを説明したいので、
簡単にしたものです。(説明不足ですいません)

PATIOさんが書いてくださった、編集->ブレークポイント
あるいは、麩さんが書いてくださった<Ctrl+B>
でダイアログがあらわれ、設定することができました。
(行番号と条件式を指定する)

みなさん、ありがとうございました。


返信引用
ヒューマン
 ヒューマン
(@ヒューマン)
ゲスト
結合: 17年前
投稿: 1
 

けわむら


返信引用

返信する

投稿者名

投稿者メールアドレス

タイトル *

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