• ベストアンサー

【デバッグ】変数の値が変わるとブレーク、ある値になったときにブレーク

VC++2005で、ウオッチウインドウに変数を表示させる方法はわかりますが、ある変数の値が変わったりとか、ある値になったときにブレークする機能ってあるのでしょうか? ※昔、何かの開発ツールでそのような機能を見たことがあったので・・・

質問者が選んだベストアンサー

  • ベストアンサー
  • yosi_yosi
  • ベストアンサー率35% (165/468)
回答No.1

ブレークポイントを設定して、ソースリストのブレークポイントのマークを右クリックして、「条件」でブレークポイントの停止条件を設定できます。 ブレークポイントの一覧表示からも出来ます。

関連するQ&A

  • 変数の値の参照について

    初めての投稿になります。 VB, VC++, などの開発経験はありますが Java による開発は初めてで Eclispe & VisualEditor での開発を始めたのですが 小さなことにコツコツと躓いてます(笑) 変数の値をマウスを重ねることで ツールチップのように値を表示させることは Eclispe では出来ないのでしょうか? 宜しく御願いします。

    • ベストアンサー
    • Java
  • break後も変数を維持するには、どうすればいいで

    break後も変数を維持するには、どうすればいいでしょうか? switch文とかで、breakした後も、変数へ格納した値を利用するには、どうすればいいのでしょうか? switch($hoge) {  case 0:   $a=24;   break;  case 1:   echo $a;//ここで、24と表示させたい   break; static変数とかを使うのでしょうか?

    • ベストアンサー
    • PHP
  • Excel VBAの変数の値全体を表示するには

    Excel2010 VBAでデバックしていますが ブレーク時に変数の値を確認する時 カーソルを合わせても値の全体が表示されないため ウォッチ式に追加して確認すると 値が途中で切れて表示されます。 251文字までしか表示されないのでしょうか。 すべて表示することはできないでしょうか。

  • ある配列の特定の位置の値が変わった場合(もしくは0になった)場合、 ブレークさせる方法はありますか?

    C# 2008 Expressを使っています。 ある配列があり、特定の位置例えば2番目の値が変わった場合(もしくは0になった)場合、 ブレーク(中断)させる方法はありますか? ary[2] = 3; ary[2] = 0; <--- 0になった ここのソースでブレーク(中断) ある配列で値を設定している位置が沢山あり、ifとかでプログラムを書くのは面倒なので デバッグで出来る方法が知りたいです。 昔VC4かBC2.0か忘れましたが、ウォッチ?で出来たような記憶がありますが・・・ 私は安直にプログラムを組んでいますが、 皆さんはクラスのメソッドなど使って、代入値の監視などしているのでしょうか? かなりパフォーマンスが落ちるので無意識に避けていましたが、 どんなプログラムの作りが現在標準なのでしょうか。

  • 静的変数の現在溜まってる値を知る方法

    Sub 静的変数() Static x As Long x = x + 10 MsgBox x End Sub このプロシージャーを実行するとXの値がどんどん加算されていきますが マクロを実行してない時にxの値を取得する方法はありますか? スッテプインやウォッチウインドウで確認すれば、マクロ実行中にxの値を確認できますが マクロを実行してない時に調べる方法があれば教えてください。 ちなみにウォッチウインドウで見てみると 値は<対象範囲外> 型はEmptyとなります。 (もしマクロを実行してなきゃわからないというのであればそれでも大丈夫です)

  • phpのデバッグ機能について

    教えてください。 今、phpを勉強していこうと考えています。 そこでphpを学ぶ上でnotepad++を使っていたのですがデバッカ機能がない(方法がわからないだけ?) のでデバッグ機能を実装しているツールを教えて頂けませんでしょうか? ・やりたい機能 1,vbのようにブレークポイントが設定できる。 2.変数の中身が表示できる。 3,ログが取れる 以上のようなデバッグ機能です。 (visual basic のような感じです。) 初心者ですので、上記機能が画像でインストールから操作説明まで記載しているサイト を教えていただければものすごくありがたいです。 以下開発環境を記載します。 何卒宜しくお願いいたします。 os :windows7 php v.5.3.1 + MySQL 5.1.41

    • ベストアンサー
    • PHP
  • Visual C++6.0 デバッグ中にグローバル変数を書き換えたい

    こんにちは。 Visual C++6.0 のデバッグ中に、ローカル変数を 変数ウィンドウに書き込んで、値を変更して動作確認を 行っているのですが、グローバル変数(たとえばerrnoなど)を、同様に変数ウィンドウに書き込むと、「CXX0017: Error: シンボル "errno"が見つかりません」と表示されてしまいます。errnoをローカル変数のようにデバッグ中に書き換えることはできないのでしょうか。 よろしくお願いします。

  • VC++による変数の中身の表示についての質問.

    現在,VC++ver6.0を用いてソースを書いています. 時折,変数の中身にちゃんと値が入っているか チェックしたいときがあります. そこで,変数の中身のチェックの方法をご存知の 方がおりましたらアドバイス頂きたいです. 自分で調べた方法としては,クイックウオッチウインドウの 使用が挙げられるのですが,使いかたがよく分かりません. なお,私が変数を表示させているやり方は, 以下の通りです. #define ERROR 1 char ch[20]; int data; sprintf(ch,"%d",data); AfxMessageBox(ch); exit(ERROR); 以上,宜しくお願いします!

  • VC++2010のデバッグ中の変数表示について

    私はいま、高校の課題研究でvc++2010でソフトの製作をしています。 原因のわからないエラーの理由を探るため、よく理解もしていないデバックのブレークポイントを駆使して変数の中身を見て回っているのですが、時折「自動変数」の欄にも「ローカル変数」の欄にも表示されない変数があります。 あれは、どういった理由で表示されないのでしょうか。 ソースすべては長いので載せませんが、問題の部分だけ載せておきます。 char *p; char *result; p = (char*)System::Runtime::InteropServices::Marshal:: StringToHGlobalAnsi(data[i]).ToPointer(); //Mecabインスタンスの作成 MeCab::Tagger *tagger = MeCab::createTagger (""); result = (char*)tagger->parse(p); //←形態素解析されたデータを格納しているのですが、エラーが起こるような処理ではないと思います。 delete tagger; System::Runtime::InteropServices::Marshal::FreeHGlobal(IntPtr(p)); String^ SResult = gcnew String(result); //←ここで「ハンドルされていない例外」が入り、デバックが中断されます MessageBox::Show(SResult); resultの中身を見たいのですが、表示されません。 ソースのコメント分のあたりにブレークポイントを入れたときには、*pに正常に値が入っていることが確認できました。 例外が発生したときのメッセージウィンドウの表記 「'System.AccessViolationException' のハンドルされていない例外が guiapp.exe で発生しました。 追加情報: 保護されているメモリに読み取りまたは書き込み操作を行おうとしました。他のメモリが壊れていることが考えられます。」 よくばりですが、例外が発生した原因についても気が付くことがありましたら指摘してください。 わかりづらい文章で申し訳ないですが、よろしくお願いします。

  • VisualStudio2005で中断した際の変数参照値がおかしい。

    VisualStudio2005で中断した際の変数参照値がおかしい。 お世話になります。ちょっと言葉がみつからなくて、説明がめちゃくちゃになってしまいそうですが、よろしくお願いします。 現在、VS2005でC++の開発を行っているのですが、あまり深い開発をしたことが無く、VSの環境設定や機能などをいじったことが一度もありません。そのせいなのかは分かりませんが、ソースの流れを追う為に、ブレークポイントで中断して、変数の値を参照できる機能で(この機能をどう呼ぶのかも知りません)、変数の中身をチェックしていたのですが、どうにも参照できた値がおかしいのです。 例えば、 int i=0; int j=0; for(i=0;i<5;i++){ j++; //ここでブレーク } という簡単なソースを実行させます。そしてiとjの値を参照すると、中身が「i:40196」「j:40265」という感じになってしまいます。ポインタか何かの値になってしまっているのかと思ったのですが、それらしきものも見当たりません。ちなみにループはちゃんと回数分回ります。 ほかにも、変数そのものが参照できなかったり、ソースそのものはちゃんと動作しているのに、値が「不適切です」になっていたり……。 これはVS2005の環境設定ミスなのでしょうか。それとも私が根本的に間違っているのでしょうか。動作しないならまだいいのですが、正常に動いてしまうから混乱しています。 分かりづらい文章ですが、よろしくお願いします。

専門家に質問してみよう