问题标签 [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.
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 并且我没有收到任何错误。
这是完整的来源:
.net - VS2015 尝试运行应用程序时出错:指针无效
当您调试 Visual Studio 2015 解决方案时,您会看到以下错误消息:
尝试运行应用程序时出错:指针无效
显然有些东西没有正确配置,或者与权限相关,只是想知道是否有人确定了原因?
c - 是否在 C 中获取无效指针未定义或实现定义行为的值?
根据this ,获取无效指针的值是 C++ 中实现定义的行为。现在考虑以下 C 程序:
但是C中的行为也一样吗?上述 C 程序的行为是未定义的还是实现已定义?C99/C11 标准对此有何评论?请告诉我 C99 和 C11 中的行为是否不同。
c++ - 当我在 C++ 中执行 buffer1.push_back(buffer2.front()) 时究竟会发生什么?
帮助我理解这一点。这是上下文。
- 我正在用 C++ 编写程序。
- 我有 2 个缓冲区(双端队列)。我们称它们为 buffer1 和 buffer2;
- 我有 2 个线程:一个线程正在用随机值填充 buffer1。另一种是将最旧的buffer1值复制到buffer2;
- 我正在使用互斥锁。
我想将 buffer1 的第一个位置内的值复制到 buffer2 中,为了执行此操作,我编写了以下代码行:
线程 1
线程 2
我的问题是: 执行此操作,我是在复制值还是通过引用传递值? 我解释我的问题。我在运行程序时遇到随机内存问题。我想确定问题的根源是否在这里。
谢谢大家。
c++ - munmap_chunk():清除向量映射时指针无效
我已经在 C++11 中实现了这个SPOJ 问题的解决方案,并且在使用clang
. SPOJ 的提交使用g++
会在消息中引发运行时错误invalid pointer
。我已经把它缩小到这条线:
studentNumberToRequestedBedroomsMap.clear();
我从其他答案中了解到,当被释放的指针不是由 获得的指针时会发生此错误malloc
,但是由于我对 C++ 还是很陌生,我不确定如何使用该信息来解决此问题。我很感激帮助解决这个问题。
c++ - 模板出列无效指针:删除类失败
我的模板化队列的 dequeue 函数适用于字符串队列,但如果我使用我的自定义 Robot 类,它会在尝试删除指针时崩溃。我很好奇为什么。
例如,在 main.cpp
字符串队列工作正常,但我收到此错误:
我的模板队列看起来像这样(不知道是否需要更多)。
机器人队列.hpp
我假设它与 RobotCustomer 作为一个类有关,所以 m_data 不能指向它或其他什么?这里不是专家:p
机器人客户.h
谢谢你的时间 :)
---------------------UPDATED_WITH CONSTRUCTORS/DECONSTRUCTORS--------------------
机器人客户.cpp
c++ - c ++ free():路径压缩时无效指针错误(按等级联合)
我查看了其他类似的问题,但无法弄清楚这个错误的原因。我正在编写一个 C++ 程序来实现 Kruskal 的最小生成树算法,使用 Union by rank 和路径压缩。它正确打印 MST 的边缘,但包含路径压缩部分会导致此错误:
* `./kruskal' 中的错误:free():无效指针:0x0000000001650d00 *
通过查看 gdb 的回溯,它似乎是向量/类析构函数的问题:
有人可以解释一下当我在循环中包含路径压缩时会发生什么中断吗?
编辑:给出错误的示例输入:
c++ - 调试 glibc free(): 无效指针
我正在尝试调试最终抛出的代码
它具有挑战性,因为我不使用免费的......我已经看到其他 SO 帖子有复制问题的示例......我需要有关如何调试的帮助。首先,我是 C/C++ n00b,所以我的指针技能正在开发中,但我没有做太多动态内存分配(我认为)。
我开始编写自己的“安全”应用程序,在其中从相机拍摄快照并将它们写入 NFS 共享,我最终将显示每个相机的快照。现在,我从 1 个摄像头拍摄并在我的显示窗口中循环(使用 opencv)。在获得核心转储之前,我可以运行一段时间(〜小时)。我创建了一个线程来运行窗口,我应该循环直到我的运行标志设置为 false,然后我调用 cvReleaseImage .. 我不知道为什么会失败,非常感谢任何指导!
shared-libraries - dlopen 加载库失败,指针无效
我有一个库“libqscr.so”,我在运行时使用 dlopen 将其加载到我的程序中。它工作得很好,在我重新启动我的电脑后,dlopen 开始给我这个错误:
我试过重新编译库,但问题仍然存在。我注意到它仅在路径正确时发生,否则返回 null。顺便说一句,我在 Ubuntu 14.04 上运行所有这些。
编辑:我注意到这个问题只发生在那个特定的库中,其他的加载正常。
EDIT2:所以我已经跟踪到库的问题,甚至是导致它的函数。我注意到,如果我删除了 setLength 函数,一切都会开始正常工作:
任何想法为什么会发生这种情况?
另一个编辑(3):我删除了 trunc 函数调用,现在一切正常。任何解释为什么会发生的答案,我都会接受。
c++ - 如何在 C++ 树程序中找到无效指针?
我的程序很简单,做一个树(min heap),并通过一个中序遍历将数据存储到一个数组中,然后销毁树(heap)。
当我运行到存储步骤时,程序崩溃了。即使我知道错误位置,我也找不到原因(我注释了一些代码并运行以查看它是否有效,最后我找到了错误位置)
我想也许我删除了一个无效的指针,但我找不到在哪里;请帮我找到它。
当我输入
当我输入时它工作
然后崩溃。
我不知道这两个组号有什么不同