【问题标题】:Breakpoint with Condition有条件的断点
【发布时间】:2016-02-17 14:26:46
【问题描述】:

有没有办法在 QtCreator 中为断点设置更复杂的条件? (dbg) 至少比较 QStrings,但其他复杂类型也会很好。教程中的整数比较可以正常工作。

【问题讨论】:

    标签: c++ qt dbg


    【解决方案1】:

    右键单击断点(文本编辑器左侧的红球)并选择“编辑断点”之类的内容。然后会出现一个对话框,让您在断点上设置条件。

    【讨论】:

    • 很好,但是您如何使用它来比较示例字符串?假设我有函数 void foo(QString bar){...} 并且想在 bar == "BAR" 时暂停?
    • 您是否尝试在条件字段中输入bar == "BAR"
    • 谢谢,它正在工作。有时。可能是某个地方的一些错误。就像断点有时会重复一样。
    • @LiborTomsik:条件仅限于没有任何副作用的功能(从调试器的角度来看)。您可能必须使用内部数据而不是 getter/methods。
    【解决方案2】:

    ctrl+单击或右键单击断点并选择编辑断点。

    会出现一个窗口,您可以在其中设置“条件”以及在调试器停止执行之前应忽略多少次。

    条件可以是您在条件 c++ 子句中编写的任何内容。

    还有其他选项,例如您的目标是哪个线程。

    【讨论】:

    • 条件不应该有副作用,而if (side_effect())是合法的。
    猜你喜欢
    • 1970-01-01
    • 2020-01-17
    • 2011-02-14
    • 2012-07-02
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2013-06-16
    • 1970-01-01
    相关资源
    最近更新 更多