22得票3回答
Valgrind几乎对所有内容都报错 (警告:客户端切换堆栈?)

我的程序在随机位置崩溃而没有错误提示,我想这可能是因为我在某些地方破坏了内存。 我正在使用带有--leak-check=full参数的valgrind,以-O0 -g编译。它检测到的第一个问题是int main()的第一行。cout << "reading file" <&...

16得票1回答
JavaScript中可能导致内存损坏的原因是什么?

我正在开发一个应用程序,使用TinyMCE编辑器允许用户修改内容。我已经开发了一个Prototype.js类,在初始化时生成一个唯一的ID,并在一个<div>上创建一个TinyMCE编辑器。以下是一些相关代码:Region = Class.create( { initializ...

11得票1回答
堆栈跟踪中的“this”指针被破坏

我看了这个主题。我的情况略有不同,我正在努力弄清楚"this"指针是如何被破坏的。 我正在使用Qt 4.6.2框架,使用他们的QTreeView与自己的模型。我得到的回溯(86帧长,有很多递归,这就是为什么我没有全部复制粘贴在这里,而只在pastebin中),只涉及到他们的代码。 它最终在...

10得票2回答
使用std::initializer_list时出现内存破坏问题

我在这段代码中遇到了内存损坏问题:#include <string> #include <iostream> #include <vector> #include <initializer_list> int main() { std:...

8得票7回答
使用malloc()分配内存后,将指针写入超出边界的位置不会导致错误。

当我尝试下面的代码时,它可以正常工作。我是否遗漏了什么? main() { int *p; p=malloc(sizeof(int)); printf("size of p=%d\n",sizeof(p)); p[500]=999999; printf...

8得票1回答
glibc堆一致性检查

根据2008年的帖子(我现在找不到了),glibc堆检查在多线程环境下不起作用。现在在2010年是否仍然存在这种情况? 默认情况下是否启用堆检查?(gcc 4.1.2)我没有设置MALLOC_CHECK_,也没有调用mcheck(),但有时会收到带有回溯的double free glibc错...

8得票3回答
尝试读取或写入受保护的内存。这通常是其他内存已损坏的迹象。

我真的不明白这个代码为什么会出错。请您自己检查一下代码。 void dispatcherTimer_Tick(object sender, EventArgs e) { string srUrl = lstLocalIndex[irLocalIndex] + lstMainI...

7得票1回答
调试一个难缠的SIGILL崩溃:文本段损坏。

我们的嵌入式系统基于PowerPC架构,运行Linux。我们遇到了随机SIGILL崩溃,这在各种应用程序中都有出现。崩溃的根本原因是将要执行的指令清零。这表明内存中驻留的文本段已经损坏。由于文本段是只读加载的,应用程序无法破坏它。因此,我怀疑某些常见的子系统(DMA?)导致了这种损坏。由于该问...

7得票1回答
诊断神秘的valgrind "invalid write"错误

[这篇文章很长,充满了细节。我的具体问题由下面的问题加粗字引入。] 摘要 我们正在使用valgrind运行一些测试套件,并遇到一个我不太明白的错误。我正在寻求关于如何更详细地找出可能出错的方法。 Valgrind抱怨“大小为8的无效写入”。 该错误在每次运行中都是一致的,但会随着应该无...