首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
社区首页 >问答首页 >for循环中的动态数组分配会引发错误。

for循环中的动态数组分配会引发错误。
EN

Stack Overflow用户
提问于 2012-02-26 02:13:40
回答 4查看 829关注 0票数 2

我有这个循环:

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
for(int l = 0; l < level_max; ++l) {
    //...
    indexCount[l] = (2*patch_size_level+1) * (patch_size_level - 1);
    GLuint* indices = new GLuint[indexCount[l]];
    //... (for loops in which I fill indices)
    delete[] indices;
}

(完整的代码片段可以在这里找到:https://gist.github.com/1915777)

由于某些原因,这会在GLuint* indices = new GLuint[indexCount[l]];引发以下内存异常

演示(12783,0x7fff7367e960) malloc:*对象0x1028cd408错误:释放对象后可能修改了不正确的校验和。

我做错了什么?我不会给索引数组分配比indexCount[l]值更多的值。(我查过了)。如何正确删除这样的循环中的动态数组。

谢谢

EN

回答 4

Stack Overflow用户

回答已采纳

发布于 2012-02-26 04:25:07

问题已经解决。这是一个先前的new[]调用(在另一种方法中),它没有适当的大小,这导致了这里的问题。非常感谢你们的帮助!

票数 0
EN

Stack Overflow用户

发布于 2012-02-26 03:49:24

可能与此无关,但这一行中可能存在读取缓冲区溢出:

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
glBufferData(GL_ELEMENT_ARRAY_BUFFER, sizeof(GL_UNSIGNED_INT) * indexCount[l], indices, GL_STATIC_DRAW);

我不知道sizeof(GL_UNSIGNED_INT)如何与系统上的sizeof(GLuint)相比较,但请查看代码中的此类错误。

票数 1
EN

Stack Overflow用户

发布于 2012-02-26 03:32:05

因为它在下面的行上抛出一个内存异常:

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
GLuint* indices = new GLuint[indexCount[l]];

我看到有两件(与记忆有关的)事情可能出错:

  1. 是indexCount中的一种越界访问。您确定已经为indexCount分配了空间吗?当此异常抛出时,您确定它的大小大于l吗?尝试调试和检查,以确保indexCount不是空的,并且在异常抛出之前,l不大于indexCount的大小。看看它是在for循环的第一次迭代中还是在中间的iteration.
  2. C++'s new中无法分配足够的内存。这是我从这一行代码中看到的唯一与内存相关的错误。然而,我不认为错误消息可能与没有足够的内存分配有关,所以我怀疑它是否是这个错误。

您确实需要调试才能获得更多信息。

  • 被访问时(当异常抛出时),
  • 会在for循环
  • 的第一个值或中间值上抛出异常是否为indexCount null?
  • 检查indexCount的大小和分配位置,并确保l不大于此大小。

F 217

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/9452243

复制
相关文章
Visual Studio2010中的外部依赖项
Visual Studio2010中的项目下拉列表下面有外部依赖项,里面显示的文件是你程序中显示包含的头文件所包含的的头文件。比如,main函数里面包含了windows.h头文件,而windows.h头文件又包含其他头文件,而这些头文件又可能还包含另外的头文件,所有这些都显示在外部依赖项里面。于是有的时候外部依赖性就变得很庞大。 若想减少外部依赖项,那就尽量避免包含不必要的头文件。 不过根据编译器的行为,可能编译时应该会过滤掉那些虽然包含进来,但完全没有用到的头文件。完全可以不必理会外部依赖项。
AIHGF
2019/02/18
2.7K0
visual studio 2010小技巧
如下想了解更多的关键方式,请参考此文:http://blog.csdn.net/alps_008/article/list/2?viewmode=contents 1,Visual Studio 20
跟着阿笨一起玩NET
2018/09/18
7290
Visual Studio 2010安装体验
    前几天利用公司强大的网络从微软官方下载了最新的Visual Studio 2010 RC版,共花了15分钟搞定。用自己的16G U盘拷回家安装,打算尝鲜一下这个传说中具有划时代意义的IDE工具。微软宣称它将是下一个Visual Studio 6.0...
SAP梦心
2022/05/10
6150
Visual Studio 2010安装体验
编程 | Visual Studio 2010安装教程
Microsoft Visual Studio是VS的全称。VS是美国微软公司的开发工具包系列产品。VS是一个基本完整的开发工具集,它包括了整个软件生命周期中所需要的大部分工具,如UML工具、代码管控工具、集成开发环境(IDE)等等。所写的目标代码适用于微软支持的所有平台,包括Microsoft Windows、Windows Mobile、Windows CE、.NET Framework、.Net Core、.NET Compact Framework和Microsoft Silverlight 及Wi
课代表
2018/06/29
1.1K0
Visual Studio 2010的并行调试支持
Visual Studio 2010大幅度的提升了并行调试的用户体验。Visual Stuido 2010的并行调试非常简单,,它提供了两个新的调试工具窗口,以帮助完成基于任务的并行编程。 在 Vis
张善友
2018/01/31
9300
Visual Studio 2010的并行调试支持
解决Visual Studio 2010过卡的问题
装了Visual Assists 插件后,开发中经常会导致整个电脑都处于“挂起”的状态,任务管理器都打不开。后来修改了一下设置,现在已经正常了…
meteoric
2018/11/19
1.7K0
Visual Studio 2010 中JS注释制作
  Visual Studio 2010中的js注释已经很强大了,但怎么才能和调用c#的方法一样容易呢?怎样才能让每个参数都有注释说明呢?底下就是想要的答案。   先上图,如图所示: 其中红色的办法
磊哥
2018/05/08
2.6K0
Visual Studio 2010 中JS注释制作
Visual Studio经典版本VS2010安装。
7、点击[是,向Microsoft Corporation发送有关我的安装体验的信息]
裴来凡
2022/05/28
1.2K0
Visual Studio经典版本VS2010安装。
OpenGL+Visual Studio 2010开发环境搭建
用于OpenGL标准开发的应用程序运行时需有动态链接库opengl32.dll、glu32.dll,这两个文件在安装Windows NT时已自动装载到C:\Windows\System32目录下。OpenGL的图形库函数封装在动态链接库OpenGL32.DLL中,开发基于OpenGL的应用程序
卡尔曼和玻尔兹曼谁曼
2019/01/22
1.4K0
OpenGL+Visual Studio 2010开发环境搭建
Visual Studio 2010 and .NET Framework 4 Training Kit
The Visual Studio 2010 and .NET Framework 4 Training Kit 包括演示,动手实践,例子。这些内容帮助你了解Visual Studio 2010特性和.Net4.0框架技术,包括以下内容: C# 4.0 Visual Basic 10 F# Parallel Extensions Windows Communication Foundation Windows Workflow Windows Presentation Foundation ASP.NET
张善友
2018/01/29
8240
Visual Studio 2010 注册信息修改器
之所以要改这个,就是看那个启动界面不爽。嘎嘎,显示什么微软用户。当然了这个东西可以直接修改注册表或者手工修改,为了简单一点,直接做了个工具出来。
obaby
2023/02/24
5550
Visual Studio 2010 C++ 工程文件解读
在 VS2010 中,C++ 的工程文件已经和 2005 / 2008 有了很大的不同,而是完全采用 MSBUILD 的属性方式进行表达,并且可以让用户通过一次性的配置而对所有的属性进行自定义;
用户3519280
2023/07/08
4030
使用Visual Studio Code编写Vue的札记
前言 Visual Studio Code is a lightweight but powerful source code editor which runs on your desktop a
梁源
2017/04/28
39.4K5
使用Visual Studio Code编写Vue的札记
推荐Visual Studio 2010新功能-IntelliTrace(智能跟踪)
Visual Studio 2010 Ultimate 版本有个新功能IntelliTrace(智能跟踪),IntelliTrace被引入到Visula Studio中来加速我们对.NET应用程序的调试,它通过对预先设置的事件和方法在运行过程中的跟踪并将其有效地传递给调试执行者,从而快速的传递程序在执行过程中的状态和各种信息来帮助开发者更好的调试程序,快速的发现问题。实际上,在Visual Studio 2010之前,Microsoft Visual Stuido已经帮助我们很好的继承了调试工具,比如对变量
张善友
2018/01/19
1K0
推荐Visual Studio 2010新功能-IntelliTrace(智能跟踪)
Visual Studio2010中不能调试CMake生成的项目
在VS2010中打开由CMake生成的工程文件,包含ALL_BUILD、***(编译的项目文件)和ZERO_CHECK三个项目。
AIHGF
2019/02/18
2.1K0
Visual Studio 2010快速参考指南里头的Scrum海报
Visual Studio ALM的快速参考指南是发布在codeplex上的一个指南文档, 地址是http://vs2010quickref.codeplex.com/,这可以作为一个一般的海报和备忘
张善友
2018/01/19
7150
Visual Studio 2010快速参考指南里头的Scrum海报
使用 Visual Studio Agent 2010 进行负载压力测试的安装指南
在 Visual Studio 2010 Ultimate 里,其实不用特别安装 Visual Studio Agent 2010  就能进行负载压力测试,不过若真要进行大流量的负载压力测试,一台主机可能过于单薄,这时我们就需要安装 Visual Studio Agent 2010 的 Test Controller 与多台 Test Agent 透过多台主机一起对 测试中系统 (System Under Tests) 进行负载压力测试,如此一来才能真正看出系统在高压之下是否还能符合效能需求以及是否能够稳定
张善友
2018/01/26
9930
Visual Studio 2017 项目中引用lib静态库
如果在Visual Studio 2017中引用别人事先已经封装好了的lib静态库,那么需要经过一下几个步骤来向项目中导入lib库 首先,事先把需要引入的lib文件的文件目录进行复制,(最好是放置到项目的include目录下) 在引用lib文件的时候,务必同时修改一下两个选项
轻舞飞扬SR
2021/02/24
2.3K0
Visual Studio 2017 项目中引用lib静态库
有关Visual Studio 2010 RTM与Windows Mobile/Windows Phone开发
    4月12日参加了Visual Studio 2010的首发活动,回来通过MSDN Subscription下载了Windows 7 Utimate和Visual Studio 2010 Professional。买了一个4G的优盘,利用Windows7-USB-DVD-tool制作了一个Windows 7 Flash安装镜像。安装Windows 7倒是挺方便,也是挺快的,前后花了大概10来分钟时间。安装Visual Studio 2010 Professional比较费时间,装完以后,看了一下版本,
ShiJiong
2018/01/10
8670
有关Visual Studio 2010 RTM与Windows Mobile/Windows Phone开发
点击加载更多

相似问题

Visual studio 2010项目中的.ocx

20

Visual Studio 2010项目中的外部库

10

为2010年的Visual studio IDE编写插件

10

在Visual Studio 2010项目中包含外部库

10

在Visual Studio 2010中编辑Visual Studio 2008项目中的源代码

41
添加站长 进交流群

领取专属 10元无门槛券

AI混元助手 在线答疑

扫码加入开发者社群
关注 腾讯云开发者公众号

洞察 腾讯核心技术

剖析业界实践案例

扫码关注腾讯云开发者公众号
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档
查看详情【社区公告】 技术创作特训营有奖征文