VC++でデバッグモード中に関数を呼び出すことはできますか?デバッグ中にその時点で実行が停止したときにブレークポイントを設定する関数があるとしたら、次のコード行に進む前に他の関数を呼び出してその結果を見ることができますか?VC++(イミディエイトウィンドウ)でデバッグモード中に関数を呼び出す
答えて
Visual Studioには、特定のステートメント(right click + set next statement
またはctrl+shift+F10
)にジャンプするオプションがありますが、その際には注意してください。関数呼び出しでは、レジストリを有効にする必要があります。これは、クラス間または範囲外にジャンプした場合には当てはまりません。
ありがとうございます、あなたはそれがいつも期待どおりに働いているとは限りません。 – Jawad
@ Jawadこれはもちろん設計によるものです。あなたが望むものをランタイムが知る方法はありません... –
私はあなたができると信じています。私はそのイミディエイトウィンドウと呼ばれると思います。 VS2010 Ultimateを使用しているので、あなたのバージョンに存在するかどうかわかりません。
[ctrl] + [alt] + i
しかし、これは、関数が値を返すときにのみ出力します。また、場合によっては動作しないことがあります。
のは、あなたが持っているとしましょう:
int number = 10; //global
int main()
{
std::cout<<std:endl; //breakpoint 1 here
setNumber(4);
std::cout<<std:endl; //breakpoint 2 here
}
int getNumberSquared()
{
return number * number;
}
void setNumber(int n)
{
number = n;
}
あなたはブレークポイント1が発生した際に、プレスショートカットやタイプ:
getNumberSquared()
出力が同じことを行う、ブレークポイント2に遭遇した後100
になります出力は16
ありがとうございます。私はそれを行い、このエラーが発生しました:CXX0052:エラー:メンバー関数が存在しません。私はソースコードのないコンパイル済みのライブラリを使用しています。したがって、私はそれらの関数に入ることができません。しかし、技術者。サポートでは、ライブラリの関数を呼び出して、デバッグモードでその出力を見ることができるはずです(配列のサイズを見つけるなど)。 – Jawad
ああ、私が言ったように、インタラクティブモードは常に動作しません。しかし、ほとんどそれがします。私はそれがライブラリとの互換性について何かを伝えることはできません。 – devjeetroy
ありがとうございます。私は他の機能を試してみます。 – Jawad
- 1. 他の関数の中で関数を呼び出す
- 2. ループ中に新しい値で関数を呼び出す
- 3. 関数を呼び出す
- 4. 関数の中でオブジェクトを呼び出す
- 5. 子供の中で関数を呼び出すAngular2コンポーネント?
- 6. コールバック中にクラス関数の外部オブジェクトを呼び出す
- 7. ビューの呼び出し後に関数を呼び出す
- 8. 関数呼び出しから関数呼び出し名を抽出する
- 9. php変数を関数呼び出しの中にテキストでエコーするには?
- 10. data.tableを呼び出す関数を呼び出す関数の記述方法?
- 11. PHPは関数呼び出しの中でリダイレクトします
- 12. jquery関数で2つのAjax呼び出しを実行中
- 13. 中間変数なしで呼び出す関数を動的に選択
- 14. main()を呼び出して関数を呼び出す
- 15. Rails3でjavascript関数を呼び出す
- 16. iframeでjavascript関数を呼び出す
- 17. Global.asaxで関数を呼び出す
- 18. 関数内でnow()を呼び出す
- 19. bashコマンドで関数を呼び出す
- 20. メールで関数を呼び出す
- 21. nodejsで関数を呼び出す
- 22. foreach内で関数を呼び出す?
- 23. Scilabでカスタム関数を呼び出す
- 24. hrefでjavascript関数を呼び出す
- 25. "onSelectedIndexChanged"でjquery関数を呼び出す
- 26. XMLで関数を呼び出す
- 27. printf()で関数()を呼び出す
- 28. cherry.pyで関数を呼び出す
- 29. .NETでHaskell関数を呼び出す
- 30. レールで関数を呼び出す
私はそうは思わない。デバッガは、実行のシーケンシャルプロセスのある時点で停止するのに役立ちますが、それを元に戻すことはありません。 – Mahesh