C++ Hello World程序触发std::bad_alloc及core dump问题求助
排查极简HelloWorld程序触发
std::bad_alloc并core dump的可能原因 针对你的情况,代码本身完全正常,问题大概率出在系统环境层面,以下是几个排查方向:
系统资源耗尽
即便程序极小,若系统内存/swap被其他进程完全占用,执行时可能因无法分配必要的运行时内存触发错误。执行free -h查看内存/swap使用情况,用htop或top排查是否有进程异常占用资源。编译或运行时库损坏
g编译器或libstdc运行时库可能存在文件损坏。尝试重新安装相关组件:sudo apt reinstall gcc g++ libstdc++6完成后重新编译运行程序。
可执行文件损坏
编译生成的helloworld可能因磁盘IO故障、中断等原因损坏。删除现有可执行文件后重新编译:rm helloworld && g++ helloworld.cpp -o helloworld磁盘空间不足
根目录或/tmp分区满额时,程序运行时无法分配临时内存或写入core文件,也可能引发此类错误。执行df -h检查各分区磁盘空间。环境变量或权限异常
当前用户的环境变量(如LD_LIBRARY_PATH)可能指向错误的库路径,导致运行时加载异常。尝试用纯净环境运行程序:env -i ./helloworld若能正常执行,说明是环境变量问题,需要排查
~/.bashrc、~/.profile等配置文件中的异常设置。
内容的提问来源于stack exchange,提问作者user22491969
相关产品推荐
相关产品推荐

