gpt4 book ai didi

C++奇怪的错误消息

转载 作者:行者123 更新时间:2023-11-28 03:44:25 25 4
gpt4 key购买 nike

有人报告了我的程序中的错误,它会显示以下错误消息: enter image description here

错误发生在程序的一个C++ DLL中,由VS2008编译。我可以重现错误,但无法找出问题所在。我已经针对内存泄漏或错误分配进行了大量测试,但没有成功。

现在奇怪的是:当我向代码添加一个主函数时,将其编译为 EXE,然后运行完全相同的东西,一切正常。该错误仅作为 DLL 出现。下一件奇怪的事情是,当我按下“忽略”时,程序会继续并按预期完成工作。

所以,我正在寻找两种类型的答案:- 帮助我找到错误的答案- 帮助我“自动忽略”或隐藏此错误消息的答案,这样它就不会发生。没关系,因为结果没有区别。

感谢您提供的任何帮助或建议。

谢谢!

更新

正如 Joachim Pileborg 所说,我创建了一个简单的测试 C++ 项目,它调用了我的 DLL,并且运行完美!正常调用DLL的程序是用DELPHI写的,所以我觉得可能是DELPHI的BUG。。。奇怪:DLL的调用99.9999..%都有效,但是在一个特定的情况下,出现了一个错误IN DLL。不是调用失败了……真的,真的很奇怪的故事:S

最佳答案

好的...这是一个负数。更简单的事情……也许您的代码正在执行一个无效\负大小的 malloc?

奇怪的是那个二进制数是11111111111111111111111111111100,可能是你的size计算错了。然而,它可能是更复杂的错误,例如由于缓冲区溢出。

您根本不应该忽略此错误,它可能是更复杂和更危险错误的征兆。尝试调试您的分配,尝试准确获取执行此无效分配的代码段。

您可以重载 new 运算符或重新定义 malloc,将它们替换为调试函数,您可以在其中检查传递的参数(大小)。

关于C++奇怪的错误消息,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/8036601/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com