【问题标题】:Memory violation when running Magick++ programs运行 Magick++ 程序时内存冲突
【发布时间】:2013-01-03 13:59:15
【问题描述】:

我在运行任何 Magick++ 程序时遇到问题,这些程序已成功链接和编译,但是当我运行它们时出现以下错误。

内部调用堆栈选项卡:

CORE_RL_Magick++_.dll!6b004bca() 
[Frames below may be incorrect and/or missing, no symbols loaded for CORE_RL_Magick++_.dll] 
CORE_RL_Magick++_.dll!6affb2d8() 
>   button.exe!main(int __formal=-1990322582, char * * argv=0x53535330) Line 65 C++

内部输出选项卡:

'button.exe': Loaded 'C:\Windows\SysWOW64\msctf.dll'
First-chance exception at 0x6b004bca in button.exe: 0xC0000005: Access violation writing location 0x00bbd458.
Unhandled exception at 0x6b004bca in button.exe: 0xC0000005: Access violation writing location 0x00bbd458.
First-chance exception at 0x6b004bca in button.exe: 0xC0000005: Access violation writing location 0x00bbd458.
Unhandled exception at 0x6b004bca in button.exe: 0xC0000005: Access violation writing location 0x00bbd458.

这是我已经尝试过的东西。

  • 已尝试重新安装 Visual Studio。
  • 尝试了 x86 和 x64 版本的 Magick++。
  • 当上述方法都不起作用时,我最终以完整格式重新安装了操作系统。

但我在重新安装 OS 、 Visual Studio 和 Magick++ 后仍然遇到同样的错误。

这是什么访问冲突写入错误?

P.S:我使用的是 Windos 7 x64,并且已经以管理员身份登录。

【问题讨论】:

  • 您因段错误重新安装了操作系统!?!

标签: c++ imagemagick


【解决方案1】:

我建议从源代码构建 Magick++,然后使用一个用于 Magick++ 测试/演示的项目文件作为如何为您自己的应用程序创建项目文件的示例。您是从源代码构建的,还是使用二进制安装包中准备好的 DLL?您使用的是 ImageMagick 还是 GraphicsMagick 的 Magick++?

Bob Friesenhahn(Magick++ 原作者)

【讨论】:

    【解决方案2】:

    “访问冲突写入”表示您的程序试图写入它没有写入权限的地址。还存在读取和可能执行代码的访问冲突。你可以很容易地得到这个:

    char* ptr = "foo";
    strcpy(ptr, "bar");
    

    建议:

    • 创建程序的调试版本并查看堆栈跟踪以找出导致错误的调用顺序。
    • 在网络上搜索此程序中的此错误以及您已找到的位置。

    【讨论】:

    • 首先停止工作,因为管理员离题和诱饵。第二,@Greatmailz,如果您已经尝试过搜索网络,有什么解决方案?你告诉我们... :p
    • 我找到了运行内存诊断测试的解决方案,所以我做到了..花了一段时间但仍然没有运气
    • Thang,我不明白你为什么认为这个建议不能作为管理员火焰诱饵。当初学者采取诸如重新安装操作系统之类的绝望措施时,我相信可以告知他们他们甚至不需要管理员权限,即使这不是他们所感知的问题。
    • 很棒的mailz,您需要继续搜索。 mem 诊断工具是找出问题所在的一种建议方法,但它不起作用,因此请寻找其他建议。只是为了让你明白,如果他们自己不表现出一些努力,这里的人通常不会帮助其他人。在网上找到一个单一的解决方案并只尝试这不算是努力。阅读 Eric S. Raymond 关于“聪明的问题”的精彩文章,其中更详细地解释了这一点。为那篇文章找到一个 URL 由您决定!
    • 这不是我没有寻找解决方案,我过去3天一直在寻找解决方案,首先错误不同,程序甚至无法编译但最终我想解决这个问题的方法,我花了一整天的时间,在成功编译和链接后,现在我收到了上面提到的这个错误,我已经搜索了很多,所有可用的选项主要与 Magick++ 中的这个问题有关已经尝试过了,比如设置依赖项、链接器设置等。所有都已经完成了。我什至尝试过 VC 2010,然后我将其发布为问题。
    猜你喜欢
    • 2020-05-03
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2015-04-07
    • 1970-01-01
    • 2015-07-31
    相关资源
    最近更新 更多