Gab*_*el 5 c++ memory valgrind
我的程序失败并显示“std::bad_alloc”错误消息。该程序是可扩展的,因此我使用 valgrind 在较小的版本上进行了测试,并且没有内存泄漏。
这是统计力学的应用,所以我基本上制作了数百个对象,更改它们的内部数据(在本例中为双精度的 stl 向量),并写入数据文件。对象的创建位于循环内,因此当循环结束时,内存将被释放。就像是:
for (cont=0;cont<MAX;cont++){
classSection seccion;
seccion.GenerateObjects(...);
while(somecondition){
seccion.evolve();
seccion.writedatatofile();
}}
Run Code Online (Sandbox Code Playgroud)
因此有两个变量决定程序的计算时间、系统的大小和运行次数。只有运行多次的大型系统才会崩溃。关于如何解决这个内存问题有什么想法吗?
谢谢,
在调试器下运行程序,以便一旦引发异常,程序就会停止,并且您可以观察调用堆栈。
三个最可能出现的问题是:
| 归档时间: |
|
| 查看次数: |
2049 次 |
| 最近记录: |