これは私が長年にわたって時々試してきたものであり、まったく成功していません。文字列の等価性に基づいて、Visual C++ 2012の条件付きブレークポイントを設定したいだけです。テストしたい変数は
string test;
私は試した
test == "foo"
=> The breakpoint cannot be set. no operator "==" matches these operands
test == string("foo")
=> The breakpoint cannot be set. no operator "==" matches these operands
test.compare("foo") == 0
=> The breakpoint cannot be set. This expression has side effects and will not be evaluated.
strcmp(test.c_str(), "foo") == 0
=> The breakpoint cannot be set. This expression has side effects and will not be evaluated.
Visual Studioで使用する場合、これは回答済みです ここ 。特に、OBWANDOの回答で提供される文字列を使用して、ブレークポイント条件を設定できます。ただし、これは少し不器用です。デバッガーが停止していても、ブレークポイントに到達すると警告メッセージが表示されます。害を及ぼすようには見えません。