是否可以在条件表达式包含任意类类型的对象时在 GDB 中设置条件断点?
我需要在函数内设置断点,条件将检查对象的成员字符串变量是否等于“foo”。所以,像这样:
condition 1 myObject->myStringVar == "foo"
但它不起作用。 GDB 是否只允许原始类型和 char* 类型的条件断点?有什么方法可以在非基本类型上设置条件断点吗?
最佳答案
Is there any way I could set a conditional breakpoint on non-primitive types?
是的,一种方法是将非原始类型转换为原始类型,在您的情况下为 char*
,然后使用 strcmp
比较字符串。
condition 1 strcmp(myObject->myStringVar.c_str(),"foo") == 0
关于c++ - 任意类型上的 GDB 条件断点,例如 C++ std::string 相等性,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/10801112/