qSetMessagePattern 不显示

 debuggerprotocol.cpp\debugger\plugins\src - qt-creator/qt-creator.git - A cross-platform Qt IDEhttps://code.qt.io/cgit/qt-creator/qt-creator.git/tree/src/plugins/debugger/debuggerprotocol.cpp?h=master

使用 DbgView 发现 QtCreator 进程会输出这句话:

"MI Parse Error, unrecognized backslash escape"

 这句话意思是:MI 解析错误,无法识别的反斜杠转义。

static void parseSimpleEscape(DebuggerOutputParser &parser, QString &result)
{
    if (parser.isAtEnd()) {
        qDebug() << "MI Parse Error, unterminated backslash escape";
        return;
    }

    const QChar c = parser.current();
    parser.advance();
    switch (c.unicode()) {
    case 'a': result += '\a'; break;
    case 'b': result += '\b'; break;
    case 'f': result += '\f'; break;
    case 'n': result += '\n'; break;
    case 'r': result += '\r'; break;
    case 't': result += '\t'; break;
    case 'v': result += '\v'; break;
    case '"': result += '"'; break;
    case '\'': result += '\''; break;
    case '\\': result += '\\'; break;
    default:
        qDebug() << "MI Parse Error, unrecognized backslash escape";
    }
}

代码中如下

 qSetMessagePattern ("file:\\%{file}:%line msg:%{message}");

看来和斜线这个符号有关系。把双斜线改成单斜线即可。

这个问题出现在 编译器是MinGW编译器,调试模式下。在代码中所有的调试输出语句都不输出。

因为这里解析出错了。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值