首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >如何在C++中为VS2019字符串设置条件断点?

如何在C++中为VS2019字符串设置条件断点?
EN

Stack Overflow用户
提问于 2022-06-01 16:04:42
回答 2查看 297关注 0票数 0

我试图为我的调试设置一个条件断点,但是VS总是返回这个错误:

如果操作符!=是为字符串定义的,怎么会这样呢?

变量误差为std::string

EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2022-06-01 17:29:44

有许多解决办法可以解决,例如,编写条件的一种更好的方法是:

代码语言:javascript
复制
!errors.empty()

您还可以将size()与0进行比较,c_str()返回一个C字符串,您可以根据\0测试第一个元素,等等。

至于您的行不能工作的原因,最有可能的是条件调试器无法解决重载的操作符。也许对非隐式构建的string (即,error != string{})进行检查会更好,或者使用较新的VS版本,但实际上您可以看到这是多么浪费,而不仅仅是检查empty()函数的结果。

票数 1
EN

Stack Overflow用户

发布于 2022-06-01 17:17:34

在代码中临时添加类似的内容可能会做到这一点:

代码语言:javascript
复制
const auto s = string_i_want_to_test_to_see_if_its_empty.c_str ();

然后,对于条件断点,表达式为:

代码语言:javascript
复制
s [0] != 0;

将这个断点放在加一个后的线上。希望在Debug构建中,它不会被优化。如果是的话,我相信你会想办法绕过它的。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/72464958

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档