ArcEngine尝试读取或写入受保护的内存

先说一下我的开发环境:

Win10 + ArcGIS10.0 + ArcEngine10.0 + Framework4.0

今天调用新的GP工具则出现"尝试读取或写入受保护的内存。这通常指示其他内存已损坏"的异常(在此环境下,昨天,我还能够正常的调用GP)。对于这一问题,有两大奇怪之处:一是环境未发生改变,昨天能够正常调用GP,今天调用任何GP都报错;二是昨天写的代码还是能够正常执行GP。

百度、谷歌了一天,除了检查代码本身的问题,还尝试了各个方面测试:license权限问题、COM对象未释放,数据库方案锁,数据库名称,数据库格式,要素类,Config配置文件等,均未得到解决!

网友们也对此问题进行了各种讲解,例如:

http://www.cnblogs.com/summer_adai/p/3412514.html

最终解决方案

下载并安装ArcGIS 10.0 sp5,下载链接:

http://support.esri.com/en/downloads/patches-servicepacks/view/productid/67/metaid/1876

我最先排除的环境问题(因为昨天也是这个环境却未出现此情况,至于为什么,不知,需要高深的人来讲解),相当于我沿着相反的方向……

时间: 2024-12-26 07:31:16

ArcEngine尝试读取或写入受保护的内存的相关文章

C#调用Haskell时的“尝试读取或写入受保护的内存”问题

最近一直被C#调用Haskell时的"尝试读取或写入受保护的内存"问题所困扰(详见C#调用haskell遭遇Attempted to read or write protected memory,C#调用haskell时的"尝试读取或写入受保护的内存"问题),而且困在其中,越陷超深,无法自拔,差点弃用C#解决我们面临的问题. 问题是这样的,只要在Haskell代码中对字符串进行操作,在C#调用时就会引发异常: An unhandled exception of ty

dll c#-c#调用c++的dll出现尝试读取或写入受保护的内存问题

问题描述 c#调用c++的dll出现尝试读取或写入受保护的内存问题 使用c#调用c++的一个dll.c++的接口函数为: extern "C" __declspec(dllexport)bool __stdcall CreateDetmObject(IDetManager **ppDetManager); 参数IDetManager为一个结构体: struct IDetManager { virtual void __stdcall SetListener(HWND hWnd) = 0

c#尝试读取或写入受保护的内存。这通常指示其他内存已损坏 怎么解决

问题描述 ///<summary>///byte数组转结构///</summary>///<paramname="bytes">byte数组</param>///<paramname="type">结构类型</param>///<returns>转换后的结构</returns>publicstaticobjectBytesToStruct(byte[]bytes,Type

方法-尝试读取或写入受保护的内存。这通常指示其他内存已损坏

问题描述 尝试读取或写入受保护的内存.这通常指示其他内存已损坏 c#调用别人的dll里面的方法出现""尝试读取或写入受保护的内存.这通常指示其他内存已损坏.""!纠结了好久!请大家帮帮我吧 解决方案 如果是调用的非托管dll,则需要这样调用.http://www.cnblogs.com/Charles2008/archive/2010/01/10/1643449.html http://www.cnblogs.com/xugang/archive/2007/12/2

c++-C# 调用C++ dll是出现这样的错误“尝试读取或写入受保护的内存。这通常指示其他内存已损坏。

问题描述 C# 调用C++ dll是出现这样的错误"尝试读取或写入受保护的内存.这通常指示其他内存已损坏. 调试时是这样的: SDK上是这样说明的: 我调用这个dll时是这样的: 困扰了很久,希望有大神来看一看,感激不敬 解决方案 C#尝试读取或写入受保护的内存.这通常指示其他内存已损坏.C# 尝试读取或写入受保护的内存 .这通常指示其他内存已损坏.C#尝试读取或写入受保护的内存.这通常指示其他内存已损坏. 解决方案二: 先看是不是你的参数有问题,然后就是数据对不对 解决方案三: 是不是重复调用

c#调c++dll,尝试读取或写入受保护的内存。这通常指示其他内存已损坏。

问题描述 调用时尝试读取或写入受保护的内存.这通常指示其他内存已损坏.不知道是什么情况,网上好多都是c++Long对应c#int,但是我已经转了还是没用,这代码一开始时可以用的,我重装了win7系统后就运行不了了....求大神帮忙c++:extern"C"__declspec(dllexport)BOOL__stdcallTCR_OpenReader(longnPort){if(1==g_iProtocol){g_CardReader.CreateInterface("1.d

求助,C#调用C++dll时提示:尝试读取或写入受保护的内存。这通常指示其他内存已损坏。

问题描述 C++dll的头文件接口描述如下:#pragmapack(push,1)typedefstructXCtrlStatus{XCtrlStatus(unsignedlongV=0){*reinterpret_cast<unsignedlong*>(this)=V;}unsignedcharERR:1;unsignedcharAUTO:1;unsignedcharRUN:2;unsignedcharDIR:2;unsignedchar:1;unsignedchar:1;unsignedc

winform-C# Winform项目中, 尝试读取或写入受保护的内存。这通常指示其他内存已损坏。

问题描述 C# Winform项目中, 尝试读取或写入受保护的内存.这通常指示其他内存已损坏. C/C++ 代码,这个是第三方提供的外部方法(调用"华大HD-900身份证阅读器接口函数"):int HD_Read_BaseInfo(char* pBmpData char *pName char *pSex char *pNation char *pBirth char *pAddress char *pCertNo char *pDepartment char *pEffectData

读取PLC中的结构体时,总是提示:尝试读取或写入受保护的内存。这通常指示其他内存已损坏

问题描述 读取PLC中的结构体时,总是提示:尝试读取或写入受保护的内存.这通常指示其他内存已损坏,但是,我把string[]改成char[]时,可以读到300个单字符,是数据类型的问题么?usingSystem;usingSystem.Collections.Generic;usingSystem.ComponentModel;usingSystem.Data;usingSystem.Drawing;usingSystem.Linq;usingSystem.Text;usingSystem.Wi