bad_alloc

最近在做项目的时候,对部分可能会有异步问题的代码做了异常捕获。
如下

    try {
    ............
    ............
        } catch (std::exception e) {
        std::cout << "exception catched in :" << __FUNCTION__ << __LINE__ << endl;
        std::cout << e.what() << endl;
        is_err_exp = true;
    } catch (...) {
        std::cout << "exception catched not std::exception in :" << __FUNCTION__ << __LINE__ << endl;
        is_err_exp = true;
    }

但是程序总是跑着跑着就抓到异常了,很是费解。然后就看到了,异常信息是
bad_alloc
后来查了很多资料,说是系统分配不了内存了。
想不通,然后查看了任务管理器,发现内存已经占用了1.5G了。

说明存在严重的内存泄露问题。然后检查修改了代码中内存相关释放的部分。
问题解决,不再出现这种异常。

Logo

腾讯云面向开发者汇聚海量精品云计算使用和开发经验,营造开放的云计算技术生态圈。

更多推荐