正常块错误后什么可能导致损坏?

2023-12-23

我的应用程序运行 2 天后不断收到此错误。

有人告诉我这是某种缓冲区溢出,但这是唯一的选择吗?

该应用程序是使用 Visual C++ 6.0 用 C++ 编写的。


在调试中,当您通过以下方式获取动态缓冲区时new,在缓冲区之前和之后插入特殊代码来保护缓冲区。

Ex:

<Guard>=====buffer allocated on heap of required size=======<Guard>

如果缓冲区溢出,插入的保护会被损坏,并且当您尝试删除缓冲区时,调试器将在检测到缓冲区溢出后断言。

在大型代码库中找到缓冲区溢出有点困难。我建议采用几种方法来帮助您检测这种情况:

  • 使用类似的工具理性净化 http://www-01.ibm.com/software/awdtools/purify/:
    它是检测内存损坏的好工具。
  • 通过 Windbg 和 GFlags 进行调试 启用: 参考我的answer https://stackoverflow.com/questions/781821/debug-visual-c-memory-allocation-problems/782085#782085到这里类似的问题
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

正常块错误后什么可能导致损坏? 的相关文章

  • 如何检查图像对象与资源中的图像对象是否相同?

    所以我试图创建一个简单的程序 只需在单击图片框中更改图片即可 我目前只使用两张图片 所以我的图片框单击事件函数的代码 看起来像这样 private void pictureBox1 Click object sender EventArgs
  • 获取按下的按钮的返回值

    我有一个在特定事件中弹出的表单 它从数组中提取按钮并将标签值设置为特定值 因此 如果您要按下或单击此按钮 该函数应返回标签值 我怎样才能做到这一点 我如何知道点击了哪个按钮 此时代码返回 DialogResult 但我想从函数返回 Tag
  • 如何使用GDB修改内存内容?

    我知道我们可以使用几个命令来访问和读取内存 例如 print p x 但是如何更改任何特定位置的内存内容 在 GDB 中调试时 最简单的是设置程序变量 参见GDB 分配 http sourceware org gdb current onl
  • pthread_cond_timedwait() 和 pthread_cond_broadcast() 解释

    因此 我在堆栈溢出和其他资源上进行了大量搜索 但我无法理解有关上述函数的一些内容 具体来说 1 当pthread cond timedwait 因为定时器值用完而返回时 它如何自动重新获取互斥锁 互斥锁可能被锁定在其他地方 例如 在生产者
  • 从父类调用子类方法

    a doStuff 方法是否可以在不编辑 A 类的情况下打印 B did stuff 如果是这样 我该怎么做 class Program static void Main string args A a new A B b new B a
  • 未解决的包含:“cocos2d.h” - Cocos2dx

    当我在 Eclipse 中导入 cocos2dx android 项目时 我的头文件上收到此警告 Unresolved inclusion cocos2d h 为什么是这样 它实际上困扰着我 该项目可以正确编译并运行 但我希望这种情况消失
  • 为什么#pragma optimize("", off)

    我正在审查一个 C MFC 项目 在某些文件的开头有这样一行 pragma optimize off 我知道这会关闭所有以下功能的优化 但这样做的动机通常是什么 我专门使用它来在一组特定代码中获得更好的调试信息 并在优化的情况下编译应用程序
  • C - 找到极限之间的所有友好数字

    首先是定义 一对友好的数字由两个不同的整数组成 其中 第一个整数的除数之和等于第二个整数 并且 第二个整数的除数之和等于第一个整数 完美数是等于其自身约数之和的数 我想做的是制作一个程序 询问用户一个下限和一个上限 然后向他 她提供这两个限
  • 如何将图像和 POST 数据上传到 Azure 移动服务 ApiController 终结点?

    我正在尝试上传图片and POST表单数据 尽管理想情况下我希望它是json 到我的端点Azure 移动服务应用 我有ApiController method HttpPost Route api upload databaseId sea
  • 如果使用 SingleOrDefault() 并在数字列表中搜索不在列表中的数字,如何返回 null?

    使用查询正数列表时SingleOrDefault 当在列表中找不到数字时 如何返回 null 或像 1 这样的自定义值 而不是类型的默认值 在本例中为 0 你可以使用 var first theIntegers Cast
  • 如何返回 json 结果并将 unicode 字符转义为 \u1234

    我正在实现一个返回 json 结果的方法 例如 public JsonResult MethodName Guid key var result ApiHelper GetData key Data is stored in db as v
  • 从路径中获取文件夹名称

    我有一些路c server folderName1 another name something another folder 我如何从那里提取最后一个文件夹名称 我尝试了几件事 但没有成功 我只是不想寻找最后的 然后就去休息了 Thank
  • 如何让Gtk+窗口背景透明?

    我想让 Gtk 窗口的背景透明 以便只有窗口中的小部件可见 我找到了一些教程 http mikehearn wordpress com 2006 03 26 gtk windows with alpha channels https web
  • 将文本叠加在图像背景上并转换为 PDF

    使用 NET 我想以编程方式创建一个 PDF 它仅包含一个背景图像 其上有两个具有不同字体和位置的标签 我已阅读过有关现有 PDF 库的信息 但不知道 如果适用 哪一个对于如此简单的任务来说最简单 有人愿意指导我吗 P D 我不想使用生成的
  • 在 Dynamics CRM 插件中访问电子邮件发件人地址

    我正在编写一个 Dynamics CRM 2011 插件 该插件挂钩到电子邮件实体的更新后事件 阶段 40 pipeline http msdn microsoft com en us library gg327941 aspx 并且在此阶
  • 32 位到 64 位内联汇编移植

    我有一段 C 代码 在 GNU Linux 环境下用 g 编译 它加载一个函数指针 它如何执行并不重要 使用一些内联汇编将一些参数推送到堆栈上 然后调用该函数 代码如下 unsigned long stack 1 23 33 43 save
  • x86 上未对齐的指针

    有人可以提供一个示例 将指针从一种类型转换为另一种类型由于未对齐而失败吗 在评论中这个答案 https stackoverflow com questions 544928 reading integer size bytes from a
  • mysql-connector-c++ - “get_driver_instance”不是“sql::mysql”的成员

    我是 C 的初学者 我认为学习的唯一方法就是接触一些代码 我正在尝试构建一个连接到 mysql 数据库的程序 我在 Linux 上使用 g 没有想法 我运行 make 这是我的错误 hello cpp 38 error get driver
  • 如何使用 std::string 将所有出现的一个字符替换为两个字符?

    有没有一种简单的方法来替换所有出现的 in a std string with 转义 a 中的所有斜杠std string 完成此操作的最简单方法可能是boost字符串算法库 http www boost org doc libs 1 46
  • ASP.NET MVC 6 (ASP.NET 5) 中的 Application_PreSendRequestHeaders 和 Application_BeginRequest

    如何在 ASP NET 5 MVC6 中使用这些方法 在 MVC5 中 我在 Global asax 中使用了它 现在呢 也许是入门班 protected void Application PreSendRequestHeaders obj

随机推荐

  • 日语和中文中 unicode 代码点的不同表示

    我正在尝试显示与 unicode 0x95E8 对应的字形 该代码点基本上是 CJK 块 中文 日语 韩语 我很难知道这个特定代码点的字形表示对于日语和中文是否可能不同 当我在 JTextArea 中显示 U 95E8 时 我能够在 lin
  • 调整横向内容 UITableviewcell 的大小

    我正在 iPhone SDK 中开发一个应用程序 我想在设备处于横向模式时调整 tableviewcell 的内容大小 在我的 tableviewcell 中 我有一个同步图像和两个标签 在纵向模式下 它看起来非常漂亮 但是当我将设备转向横
  • 如何创建工作区

    我们如何在 Visual Studio Code 中创建工作区 I see File菜单命令用于打开 添加文件夹和保存工作区 但没有用于创建工作区的命令 问题如何在 Visual Studio Code 中创建工作区 https stack
  • GCP 负载均衡器后端状态未知

    我惊呆了 我有一个暂存和生产环境 两种环境具有相同的部署 服务 入口 防火墙规则 并且都服务于200 on 但是 在打开登台环境并配置相同的入口后 登台服务失败并显示Some backend services are in UNKNOWN
  • 无法使用 pg_dump 将表复制到另一个数据库

    我正在尝试将表从一个数据库复制到另一个数据库 不是架构 我在终端中使用的代码如下 pg dump U postgres t OldSchema TableToCopy OldDatabase psql U postgres d NewDat
  • mac 找不到捆绑命令

    我正在使用 ruby 我得到了一个包含一些 ruby 程序的 zip 文件 它说 在文件夹内 运行bundle install安装所需的软件包 当我在终端中运行命令时 它说bundle command not found 有人可以给我详细说
  • 如何将字符串拆分为单词列表?

    如何拆分句子并将每个单词存储在列表中 例如 these are words these are words To split on other delimiters see Split a string by a delimiter in
  • Django - 连续发送输出

    我想开始从 django 视图处理一些文件 并且希望能够在处理文件时将文件名发送到浏览器 有没有办法 简单地 做到这一点 我可能可以使用线程和 ajax 调用来做到这一点 但我现在想要最简单的解决方案 我在一个中找到了我需要的东西answe
  • 在 SceneKit 中,bake 做了什么

    What is the purpose of bake option in SceneKit editor Does it have an impact on performance Type 提供 2 个选项 Ambient Occlus
  • Firebase实时数据库(根据UID获取其他用户信息)与REST

    我有一个使用 Firebase 实时数据库创建的应用程序 并且创建了一些用户 所有用户都使用此处找到的 REST 方法 https firebase google com docs reference rest auth https fir
  • Apache 每个请求都会生成一个线程,而 Node.js 不会,这是什么意思?

    我读过有关node js 和其他服务器 例如Apache 的信息 它们的线程是不同的 我根本不明白线程是什么意思 如果我有一个运行 SQL 来访问数据库的网页 例如一个服务器端页面中的三个不同数据库 这对于 Node js 中的线程意味着什
  • 如何使 DateTimePicker 显示空字符串?

    我希望能够显示一个DateTimePicker它的默认值是空的 即没有日期 例如 我有一个开始日期dtTaskStart和结束日期dtTaskEnd对于任务 但结束日期未知 并且最初未填充 我已经指定了自定义格式yyyy MM dd对于两个
  • 有没有任何工具或技术可以识别打开的结果集

    在 java 应用程序的上下文中使用SQLIte http www sqlite org 为了保存数据 我正在使用Zentus http www zentus com sqlitejdbc JDBC 驱动程序 因此我正在使用java sql
  • 在另一个项目中使用 GKE 中的 Google 容器注册表

    GKE 集群如何从另一个项目托管的容器注册表中提取容器映像 我的项目中有一个 GKE 集群
  • 在 UITableView 中加载图像 url swift 2 的最佳方法

    我想使用 swift 2 创建一个带有图像链接列表的 Ui TableView 例如 var images link1 link2 linkN 我创建一个自定义单元格来显示图像 let cell tableView dequeueReusa
  • 用于在 S3 事件上触发 Lambda 的 Cloudformation 模板

    我想使用 Cloudformation 创建一个 S3 存储桶 每当发生 S3 事件 例如文件创建 文件删除等 时 该存储桶就会触发 Lambda 函数 根据我的研究 我有我的AWS Lambda 函数 http docs aws amaz
  • 将 JSON 响应转换为 List

    我是 GSON 的新手 我需要将以下 JSON 响应转换为列表 JSON 响应 data data ac id 000 user id 000 title AAA data ac id 000 user id 000 title AAA 我
  • Java 中的泛型用法是什么? X.方法()

    我读完了整本 SCJP6 书 Sierra 和 Bates 的书 考试得分为 88 但是 我仍然没有听说过这种代码是如何工作的 因为它在泛型章节中没有解释 Collections
  • 使用外部地图的 Mapbox GL

    我想在我的 Android 应用程序中使用 Mapbox GL 该服务即将发布 我有一个关于使用渲染器的棘手问题 我喜欢渲染器本身 但我真的想在应用程序中使用我自己的地图数据 不是 Mapbox 提供的付费数据 例如 我想自己解析 Open
  • 正常块错误后什么可能导致损坏?

    我的应用程序运行 2 天后不断收到此错误 有人告诉我这是某种缓冲区溢出 但这是唯一的选择吗 该应用程序是使用 Visual C 6 0 用 C 编写的 在调试中 当您通过以下方式获取动态缓冲区时new 在缓冲区之前和之后插入特殊代码来保护缓