首页 > 解决方案 > 在 Qt Creator 中调试 c++ 程序时如何正确忽略 throw 中断?

问题描述

我正在尝试远程调试一个程序,其中包含很多代码

try { map.at(invalid_index)}catch(...){}

块。我每次都收到一个停止,即使使用“catch throw ignore”作为启动 gdb 命令也是如此。

中断发生在 stl_map.h 的 (__throw_out_of_range(__N("map::at")))

mapped_type&
      at(const key_type& __k)
      {
    iterator __i = lower_bound(__k);
    if (__i == end() || key_comp()(__k, (*__i).first))
      __throw_out_of_range(__N("map::at"));
    return (*__i).second;
      }

调试目标是 x86-64 嵌入式平台,板载自定义 Ubuntu 14.04。

我可以做其他事情来强制 gdb 仅在我的显式断点处停止(不再出现 2-3 次)吗?

标签: c++gdbqt-creator

解决方案


推荐阅读