问题标签 [invalid-pointer]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
1 回答
1022 浏览

delphi - 尝试释放 FSQL (TStringList) 时的 Delphi XE3 无效指针

我正在 XE3 中创建一个新应用程序,但使用在 D2007 中创建的一些单元。

释放 TStringList 数据项时出现错误。这是创建数据项 FSQL 的代码:

这是收到错误的代码:

错误发生在“FreeAndNil(FSQL);”上。我尝试了“FSQL.Free”,得到了相同的结果。

这是我得到的错误:

项目:PayorUpdate.exe 引发异常类 EInvalidPointer,并带有消息“无效的指针操作。

当我打破蓝色箭头(调试模式)指向 _FreeMem(Pointer(Self)); 在 System 单元中的过程 TObject.FreeInstance 中如下:

如果我不释放 TStringList 数据项,我会在应用程序中出现内存泄漏。

我可能需要设置一个配置选项吗?我用谷歌搜索,除了以下三种可能性之一之外,没有找到任何解释我做错了什么的东西:

  • 它是由其他一些内存管理器分配的。
  • 它之前已经被释放过一次。
  • 它从来没有被任何东西分配过。

如果我尝试...除了...我能够解决这个问题,但我不想这样做。

顺便说一句,我在不同的单元中有另一个 TStringList 并且我创建了 FreeAndNil 并且我没有收到任何错误。

这是完整的来源:

0 投票
2 回答
9764 浏览

.net - VS2015 尝试运行应用程序时出错:指针无效

当您调试 Visual Studio 2015 解决方案时,您会看到以下错误消息:

尝试运行应用程序时出错:指针无效

显然有些东西没有正确配置,或者与权限相关,只是想知道是否有人确定了原因?

0 投票
4 回答
237 浏览

c - 是否在 C 中获取无效指针未定义或实现定义行为的值?

根据this ,获取无效指针的值是 C++ 中实现定义的行为。现在考虑以下 C 程序:

但是C中的行为也一样吗?上述 C 程序的行为是未定义的还是实现已定义?C99/C11 标准对此有何评论?请告诉我 C99 和 C11 中的行为是否不同。

0 投票
3 回答
125 浏览

c++ - 当我在 C++ 中执行 buffer1.push_back(buffer2.front()) 时究竟会发生什么?

帮助我理解这一点。这是上下文。

  • 我正在用 C++ 编写程序。
  • 我有 2 个缓冲区(双端队列)。我们称它们为 buffer1 和 buffer2;
  • 我有 2 个线程:一个线程正在用随机值填充 buffer1。另一种是将最旧的buffer1值复制到buffer2;
  • 我正在使用互斥锁。

我想将 buffer1 的第一个位置内的值复制到 buffer2 中,为了执行此操作,我编写了以下代码行:

线程 1

线程 2

我的问题是: 执行此操作,我是在复制值还是通过引用传递值? 我解释我的问题。我在运行程序时遇到随机内存问题。我想确定问题的根源是否在这里。

谢谢大家。

0 投票
0 回答
367 浏览

c++ - munmap_chunk():清除向量映射时指针无效

我已经在 C++11 中实现了这个SPOJ 问题的解决方案,并且在使用clang. SPOJ 的提交使用g++会在消息中引发运行时错误invalid pointer。我已经把它缩小到这条线:

studentNumberToRequestedBedroomsMap.clear();

我从其他答案中了解到,当被释放的指针不是由 获得的指针时会发生此错误malloc,但是由于我对 C++ 还是很陌生,我不确定如何使用该信息来解决此问题。我很感激帮助解决这个问题。

0 投票
1 回答
406 浏览

c++ - 模板出列无效指针:删除类失败

我的模板化队列的 dequeue 函数适用于字符串队列,但如果我使用我的自定义 Robot 类,它会在尝试删除指针时崩溃。我很好奇为什么。

例如,在 main.cpp

字符串队列工作正常,但我收到此错误:

我的模板队列看起来像这样(不知道是否需要更多)。

机器人队列.hpp

我假设它与 RobotCustomer 作为一个类有关,所以 m_data 不能指向它或其他什么?这里不是专家:p

机器人客户.h

谢谢你的时间 :)

---------------------UPDATED_WITH CONSTRUCTORS/DECONSTRUCTORS--------------------

机器人客户.cpp

0 投票
1 回答
562 浏览

c++ - c ++ free():路径压缩时无效指针错误(按等级联合)

我查看了其他类似的问题,但无法弄清楚这个错误的原因。我正在编写一个 C++ 程序来实现 Kruskal 的最小生成树算法,使用 Union by rank 和路径压缩。它正确打印 MST 的边缘,但包含路径压缩部分会导致此错误:

* `./kruskal' 中的错误:free():无效指针:0x0000000001650d00 *

通过查看 gdb 的回溯,它似乎是向量/类析构函数的问题:

有人可以解释一下当我在循环中包含路径压缩时会发生什么中断吗?

编辑:给出错误的示例输入:

0 投票
1 回答
1839 浏览

c++ - 调试 glibc free(): 无效指针

我正在尝试调试最终抛出的代码

它具有挑战性,因为我不使用免费的......我已经看到其他 SO 帖子有复制问题的示例......我需要有关如何调试的帮助。首先,我是 C/C++ n00b,所以我的指针技能正在开发中,但我没有做太多动态内存分配(我认为)。

我开始编写自己的“安全”应用程序,在其中从相机拍摄快照并将它们写入 NFS 共享,我最终将显示每个相机的快照。现在,我从 1 个摄像头拍摄并在我的显示窗口中循环(使用 opencv)。在获得核心转储之前,我可以运行一段时间(〜小时)。我创建了一个线程来运行窗口,我应该循环直到我的运行标志设置为 false,然后我调用 cvReleaseImage .. 我不知道为什么会失败,非常感谢任何指导!

0 投票
0 回答
249 浏览

shared-libraries - dlopen 加载库失败,指针无效

我有一个库“libqscr.so”,我在运行时使用 dlopen 将其加载到我的程序中。它工作得很好,在我重新启动我的电脑后,dlopen 开始给我这个错误:

我试过重新编译库,但问题仍然存在。我注意到它仅在路径正确时发生,否则返回 null。顺便说一句,我在 Ubuntu 14.04 上运行所有这些。

编辑:我注意到这个问题只发生在那个特定的库中,其他的加载正常。

EDIT2:所以我已经跟踪到库的问题,甚至是导致它的函数。我注意到,如果我删除了 setLength 函数,一切都会开始正常工作:

任何想法为什么会发生这种情况?

另一个编辑(3):我删除了 trunc 函数调用,现在一切正常。任何解释为什么会发生的答案,我都会接受。

0 投票
0 回答
111 浏览

c++ - 如何在 C++ 树程序中找到无效指针?

我的程序很简单,做一个树(min heap),并通过一个中序遍历将数据存储到一个数组中,然后销毁树(heap)。

当我运行到存储步骤时,程序崩溃了。即使我知道错误位置,我也找不到原因(我注释了一些代码并运行以查看它是否有效,最后我找到了错误位置)

我想也许我删除了一个无效的指针,但我找不到在哪里;请帮我找到它。

当我输入

当我输入时它工作

然后崩溃。

我不知道这两个组号有什么不同