Microsoft Visual Studio 2010允许设置条件断点。用于定义断点条件的语言并没有真正解释,但似乎遵循C ++语法。
对于复杂的对象such as std::string
or QString
,它根本不起作用。
您显然无法在这些对象上调用.c_str
等成员方法,但似乎可以调用strcmp
等C函数。这让我想到了这个问题:
我可以定义自己的类C函数来比较可以通过条件断点访问的自定义对象。例如:
// Function to compare QString with const char*
bool q_string_equals(const QString& qstr, const char* str) {
// some code, probably pretty complicated if we really wanna avoid calling member fns
}
然后使用它:
需要重新编译整个项目以添加if
基于"断点"真的很烦人。