当前位置: 首页 > 面试题库 >

任意类型(例如C ++ std :: string相等)上的GDB条件断点

佴保臣
2023-03-14
问题内容

是否可以在条件表达式包含任意类类型的对象的GDB中设置条件断点?

我需要在函数内部设置一个断点,条件将检查条件是否是对象的成员字符串变量等于“ foo”。因此,类似:

condition 1 myObject->myStringVar == "foo"

但这不起作用。GDB是否只允许在基本类型和char *类型上使用条件断点?有什么办法可以在非原始类型上设置条件断点?


问题答案:

有什么办法可以在非原始类型上设置条件断点?

是的,一种实现方法是将非原始类型转换为原始类型,在您的情况下转换为char*,并用于strcmp比较字符串。

condition 1 strcmp(myObject->myStringVar.c_str(),"foo") == 0


 类似资料:
  • 基本上,我希望MyClass持有一个Hashmap将字段名(字符串)映射到任何类型的值。为此,我编写了一个单独的MyField类来保存类型和值信息。 这是我目前所掌握的: 但是正如您所看到的,映射声明失败了,因为我没有为MyField提供类型参数... 所以我想应该是 或 我有什么办法可以做到这一点吗?

  • 如何修复此问题: 如果T不是类类型,而是: 错误:“int”不是类、结构或联合类型24 |使用类型=std::conditional\u tstd::is\u class\u v 所以我不需要尝试调用错误的表达式,但是如何调用呢?

  • 此示例代码是否在所有系统上导致两个相等的值?

  • 13.3. 示例: 深度相等判断 来自reflect包的DeepEqual函数可以对两个值进行深度相等判断。DeepEqual函数使用内建的==比较操作符对基础类型进行相等判断,对于复合类型则递归该变量的每个基础类型然后做类似的比较判断。因为它可以工作在任意的类型上,甚至对于一些不支持==操作运算符的类型也可以工作,因此在一些测试代码中广泛地使用该函数。比如下面的代码是用DeepEqual函数比较

  • 我是Haskell的新手,我试图写一个测试用例来证明半群类型类的结合律。 数据类型定义如下:

  • 异常:“字符串”类型不是“映射”类型的子类型 这是上面的json,我只想把它放在用户pojo类中的[data]。 但它抛出了上述异常类型。 用户Pojo类 为了清晰起见,我推荐了这个中等规模的网站 但在4个多小时的静脉注射中,我不知道发生了什么。如果要更改用户。从()到字符串,然后就可以了。但我需要将[data]从json解析到用户pojo类。