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

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

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

condition 1 myObject->myStringVar == "foo"

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

回答:

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

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

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

以上是 任意类型(例如C ++ std :: string相等)上的GDB条件断点 的全部内容, 来源链接: utcz.com/qa/430960.html

回到顶部