我玩个单机游戏,进去后跳出来这个东西..“0x77c170dc”指令引用的“0x0176501e”内存,该内存不能为read

我玩个单机游戏,进去后跳出来这个东西..“0x77c170dc”指令引用的“0x0176501e”内存,该内存不能为read,第1张

无法读取内存的常见原因

使用Windows *** 作系统有时会遇到这样的错误信息:“0X????指令引用的0X00000000内存,该内存不能读取,然后应用程序被关闭。如果去请教一些”主“时,回答往往是”Windows是如此的不稳定,“像义愤和不屑。其实,这个错误并不一定会导致Windows变得不稳定。本文简要分析了这种错误的常见原因。

首先,应用程序没有检查内存分配失败

需要内存来保存数据,你需要调用 *** 作系统所提供的功能到应用程序的内存分配成功,函数将返回新开的应用程序的内存区地址,这个地址内存的应用程序。这是动态内存分配,内存地址编程中的“指针”。

的记忆并不总是招之即来,有取之不尽的,有时候内存分配失败。的分配失败时,系统函数将返回的值是0,则返回值“0”并不意味着新开的的指针,但由系统发出的通知的应用程序错误。当一个应用程序,每个应用程序的内存应该检查返回值是0,如果是,则意味着出现了故障,应该采取一些措施,来挽救,这增强了程序的“健壮性”。

如果应用程序没有检查这个错误,它会被认为在按照“思维惯性”指针的值分配给它,这个内存后继续运行。真正的0地址内存区保存到计算机系统中,最重要的“中断描述符表”,绝对不允许应用程序使用。没有保护机制的 *** 作系统(如DOS),写数据到这个地址会导致立即死机,强大的 *** 作系统,如Windows等,这个 *** 作会马上被系统的保护机制捕捉,其结果是, *** 作系统强制关闭应用程序错误,防止错误扩大。在这个时候,“写内存”错误,并指出被引用的内存地址的“0x00000000”。

内存分配失败故障的原因很多,内存不够的系统函数的版本不匹配等都可能有影响的。因此,这种分配失败后很长一段时间使用的 *** 作系统是比较常见的,安装的应用程序(包括无意中“安装”的病毒程序),更改系统参数和系统文件。

应用程序正常的内存指针引用自己的BUG

应用程序使用动态分配的,有时这样的情况:程序试图读写“应该可用”的内存,但我不知道这是为什么预期的指针不可无效。有可能是“忘记了”向 *** 作系统要求分配,程序本身已被注销此内存在某些时候,“注意”等。只有命运的内存的系统恢复,取消其访问不属于应用程序,因此读写 *** 作,也将触发系统的保护机制,企图“违法”的程序 *** 作终止运行,回收全部的资源。计算机世界的法律或人类有效和严厉得多多啊!像这样属于程序自身的BUG,你往往可以在特定的 *** 作顺序错误重现。无效的指针不一定总是0,因此,存储器地址错误是不一定的“0x00000000”,但其他的随机数。

如果系统错误,经常被人提及,下面的建议可能会有帮助:

查看系统中是否有木马或病毒。这样的程序,以控制系统往往不负责任的的系统,导致 *** 作系统异常。通常情况下,应加强信息安全意识,从来没有好奇心的来源不明的可执行程序。

2。更新 *** 作系统, *** 作系统的安装程序重新拷贝正确版本的系统档案,修正系统参数。有时候 *** 作系统本身也会有BUG,要注意安装官方发行的升级程序。

3试用新版本的应用程序。

运行某些程序时,有时会出现内存错误提示,然后关闭该程序。

的“0x????”指令引用为0x????? “内存的内存不能”读“。

的“0x????”指令引用为0x????? “内存,该内存不能”写“。

我不知道你喜欢这个失败吗? (为0x后面的内容可能不相同。)

一般这种现象的发生方面,硬件,内存有问题,二是软件,它有一个范围广泛的问题。

让谈谈的硬件:

在一般情况下,内存问题的可能性并不大,主要方面:坏的内存,内存质量问题,是分为两个不同品牌不同容量的内存混,也更容易出现不兼容问题还要注意的是散热问题,特别是在超频。您可以使用该软件来检测MEMTEST内存,它可以彻底检测出内存的稳定度。

如果您双击内存,不同品牌的内存混插或者买了二手内存,就会发生这个问题,在这一点上,你要检查是不是内存问题或其它硬件不兼容。如果你不是,那么从软件故障排除。

简单介绍一下我的原则:数据存储缓冲区溢出的程序时,会发生数据在一个位置,因为没有足够的空间。例如:一个桶只有一斤的水,当你把一个两磅的水会溢出。该系统是在屏幕上表现出来。这个问题,经常在windows2000和XP系统上,Windows 2000/XP系统硬件要求非常苛刻事件的资源死锁,溢出或者类似Windows 98中的非法 *** 作,系统稳定,就会出现上述情况。也可以由硬件设备之间的相容性差引起的。

现在我有几个例子来分析:

例一:打开IE浏览器,或在几分钟内会有的“0x00000000”引用内存“0x70dcf39f”指令。该内存不能为“read”。要终止程序,请单击“OK”的消息框,单击“确定”,和“发生内部错误,您正在使用的一个窗口即将关闭”的信息框,关闭该消息,IE浏览器也可以打开关闭。解决方法:修复或升级IE浏览器的补丁。看过其中一个修复,WIN2000,这是Win2000升级到Win2000自升级,其实,这种做法是系统还原到系统初始状态。比如你的IE升级到60,自升级后,IE50代替。

例如:在Windows XP中,双击CD-ROM里面的“AUTORUNEXE”文件,指令引用的“0x77f745cc”的的“0x00000078”内存。该内存不能“写”,要终止程序,请单击“OK”,运行Windows 98是正常的。解决方法:这可能是系统的兼容性问题的winXP的系统,右键AUTORUNEXE,文件属性,兼容性,兼容模式运行这个程序“选项,并选择”Windows 98/Me的“Win2000的命中SP补丁,你在什么时候开始,运行。 ,请输入:REGSVR32 C:\ \ WINNT \ \ AppPatch文件\ \ slayeruidll。右键属性,也会出现兼容性的选项。

例三:使用RealOne黄金关闭错误是正常的,“为0xffffffff”指令引用的“0xffffffff的”记忆最近来了。该内存不能为“read”的提示。解决方法:当使用的输入法为微软拼音输入法2003,并且隐藏语言栏(没有隐藏没问题)关闭的RealOne出现这样的问题,所以,如果你可以关闭的RealOne显示语言栏或者任何其他输入法电流输入方式来解决这个问题。

例四:我的豪杰超级解霸自从上网后不能发挥每一个提示“Ox060692f6”(每次变化),请单击“确定”指令引用的“Oxff000011”内存不能“读”,终止程序。解决方法:试试重装豪杰超级解霸,如果重装后还会尝试的官方网站下载相应版本的补丁。仍然无法正常工作,尝试另一名球员不得不改变。

例五:双击一个游戏的快捷方式,“Ox77f5cdO”指令引用的“Oxffffffff”内存,该内存不能为“read”,并且提示Clientdat程序错误。解决方法:重新安装最新的显卡驱动程序,然后下载并且安装DirectX90。

例如:一个朋友送我的电脑错误消息出现:指令引用0 772b548f“的”0 00303033“内存,该内存不能为”written“,然后QQ自动下线,而再打开QQ,发现多一个打他送我的。解决方案的信息:这是利用QQ的BUG,发送特殊的代码,做QQ的错误,修补或升级到最新版本的权利。

通过以上的几个例子,你可以看到已经提到的原因,失败的原因有好多种,可能会出现在一个表中的列,为方便。

解决方法

一个坏的内存更换内存

双内存不兼容,使用同一品牌的内存或只与一个内存

如图3所示,存储器质量问题更换存储器

4,加强机箱内部的散热,散热问题

5,内存和主板不插或与其他硬件重新插入内存或换个插槽不兼容

6个硬盘更换硬盘

7,驱动程序问题,重新安装驱动程序。如果这是一个新的系统,先安装主板驱动程序

8软件损坏重装软件

9软件BUG补丁或最新的版本。

10软件和系统不兼容的软件补丁,或者试试系统的兼容模式

11,软件和软件之间的冲突,如果您最近安装了新软件,卸载尝试

12,你想要的软件,使用其他软件问题,重装相关软件。例如,当播放的文件格式错误,这个文件的解码器

13,病毒问题的防病毒

14,防病毒软件与系统或软件冲突由于杀毒软件到底层监控系统,可能与一些软件冲突,卸载试试

月15日,一个是系统本身问题,有时, *** 作系统本身也会有BUG,要注意安装官方发行的升级程序,像SP补丁,这是最好的发挥。如果不重装系统或更换其他版本的系统。

使用Windows蓝色屏幕是经常的事,它往往是不明确的误差来源而频繁重新安装系统,麻烦费时。以下收集的窗口死机密码,供大家参考。

数值叙述

0为0x0000作业完成。

1 0×0001不正确的函数。

2 0×0002系统找不到指定的文件。

3 0x0003系统找不到指定的路径。

4 0x0004系统无法打开文件。

5×0005拒绝访问。

6 0x0006无效的代码。

7 0x0007储存体控制区块已毁。

8 0x0008储存体空间不够,处理该指令。

9 0x0009储存体控制区块位址无效。

10将为0x000A环境不正确。

11 0x000b尝试载入一个格式错误的程式。

12 0X000C存取码错误。

13 0x000d数据错误。

14 0x000e储存体空间不够,无法完成这项工作。

15 0x000f系统找不到指定的驱动器。

16 0×0010无法移除目录。

17 0x0011系统无法将文件移到其他驱动器。

18 0x0012没有任何档案。

19 0x0013储存媒体为写保护状态。

20 0x0014系统找不到指定的装置。

21 0x0015装置还没有准备好。

22 0x0016装置无法识别的命令。

23 0x0017资料错误(循环冗余校验)

24 0x0018处程序发出一个长度错误的指令。

25 0x0019驱动器的磁盘找不到持的扇区或磁道。

26 0x001a指定的磁盘或磁盘无法访问。

27 0x001b磁碟机找不到要求的磁区。

28 0x001c印表机纸张。

29 0x001d系统无法将资料写入指定的磁碟机。

30 0x001e系统无法读取指定的装置。

31 0x001f连接到系统的设备无法正常工作。

32 0×0020的进程无法访问该文件,因为它正被另一个进程使用。

33 0x0021文件的一部分被锁定,现在无法访问。

34 0x0022磁盘驱动器是不正确的。请将%2(卷序列号:%3)插入磁碟机%1。

36 0x0024开启的分享档案太多。

38 0x0026到达文件的结尾。

39 0x0027磁盘已满。

50 0x0032个不支持此请求。

51 0x0033远端电脑无法使用。

52 0x0034网路名称重复。

53 0x0035网路路径没有被发现。

54 0x0036网路忙碌中。

55 0x0037指定的网络资源或设备不再可用。

56 0x0038网络BIOS命令限制已经达到。

57 0x0039网路配接卡发生问题。

58 0x003a指定的伺服器无法执行要求的作业。

59 0x003b网络发生意外的错误。

60 0x003c远程适配器不兼容。

61 0x003d打印机队列已满。

62 0x003e伺服器的空间无法储存等候列印的文件。

63 0x003f等候列印的档案已经删除。

64 0x0040指定的网路名称无法使用。

65 0x0041拒绝访问网络。

66 0x0042网路资源类型错误。

67 0x0043无法找到网络名称。

68 0x0044超过区域电脑网路配接卡的名称限制。

69 0x0045超过网络BIOS作业阶段的限制。

70 0x0046远端伺服器已经暂停或者正在起始中。

71 0x0047达到最大连接数,然后再也无法连接到远程计算机。

72 0x0048指定的打印机或磁盘装置已经暂停作用。

80 0x0050档案已经存在。

82 0x0052无法建立目录或文件。

83 0x0053 INT 24失败

84 0x0054储存,无法处理此请求。

85 0x0055近端装置名称已经在使用中。

86 0x0056指定的网络密码不正确。

87 0x0057参数错误。

88 0x0058网络数据写入错误的发生。

89 0x0059系统无法执行其他行程。

100 0x0064无法建立一个系统的信号。

101 0x0065属于其他行程专用的semaphore。

102 0x0066已设置信号灯且无法关闭。

103 0x0067指定的信号。

104 0x0068岔断时间无法要求专用的semaphore。

105 0x0069此semaphore先前的拥有权已经结束。

106 0x006a请插入磁盘%1。

107 0x006b替代的软盘未插入,该计划已被中止。

108 0x006c磁盘正在使用中或被锁定。

109 0x006d管已被中止。

110 0x006e系统无法开启指定的装置或档案。

111 0x006f文件名太长。

112 0x0070磁盘空间不足。

113 0x0071可用的内部档案识别字。

114 0x0072目标内部档案识别字不正确。

117 0x0075由应用程序执行的IOCTL呼叫不正确。

118 0x0076写入验证参数值是不正确的。

119 0x0077系统不支持该指令的要求。

120 0x0078此项功能仅在Win32模式有效。

121 0x0079信号灯超时时间。

122 0x007a传递给系统调用的数据区域太小。

123 0x007b档名,目录名称或储存体标签语法错误。

124 0x007c系统呼叫层次不正确的。

125 0x007d磁盘设置“选项卡。

126 0x007e指定的模块可能不会被发现。

127 0X007F找不到指定的程序。

128 0x0080没有子进程等待。

129 0x0081%1应用程序无法运行在Win32模式下。

130 0×0082尝试使用为已打开磁盘分区的文件句柄。

而非原始磁盘I / O *** 作。

131 0×0083尝试移动文件指针的文件,然后开始。

132 0×0084无法在指定的设备或文件中设置文件指针。

133 0x0085 JOIN或SUBST指令无法用于嵌入式前组合驱动器。

134 0x0086尝试推动相结合,JOIN或SUBST指令。

135 0x0087 JOIN或SUBST指令驱动器被替换。

136 0x0088系统尝试删除未链接的驱动器之间的联系。

137 0x0089系统尝试删除未替换的驱动器的更换的关系。

138 0x008a系统尝试把车开到驱动器的目录已经结合。

139 0x008b尝试更换驱动器已被替换的驱动器的目录。

140 0x008c系统尝试更换驱动器到该目录中的驱动器已被取代。

141 0x008d尝试SUBST驱动器已经被集成到驱动器目录。

142 0x008e系统此刻无法执行JOIN或SUBST。

143 0x008f系统无法驱动器结合或替换同一驱动器目录下的。

144 0x0090这个目录不是根目录的子目录。

145 0x0091目录。

146 0x0092指定的路径已经被替换。

147 0x0093资源不足,无法处理这项指令。

148 0x0094指定的路径,不能使用在这个时候。

149 0x0095尝试要结合或替换的磁碟机目录,已经替换过的的目标。

150 0×0096 CONFIGSYS文件未指定系统追踪资讯,或是追踪功能被取消。

正确的数量151 0x0097指定的信号量的事件dosmuxsemwait在。

152 0x0098 dosmuxsemwait没有进行太多的信号。

153 0x0099 dosmuxsemwait清单是不正确的。

154 0x009a您输入的储存媒体标元长度的限制。

155 0x009b无法创建另一个线程。

156 0x009c接收行程拒绝接受信号。

157 0x009d区段已经被舍弃,并且不能被锁定。

158 0x009e区段已经解除锁定。

159 0x009f执行绪ID地址是不正确的。

160 0x00a0传播列举的数字dosexecpgm的字符串是不正确的。

161 0x00a1指定的路径是不正确的。

162 0x00a2等待用于信号处理的。

164 0x00a4系统无法创建一个线程。

167 0x00a7部分文件无法被锁定。

所需的资源170 0x00aa使用。

173 0x00ad取消范围的锁定要求不明显。

的“174 0x00ae文件的系统不支持自动变更锁定类型。

180 0x00b4系统发现正确的区段号码。

182 0x00b6作业系统无法执行%1。

183 0x00b7档案已存在,无法建立同一档案。

传输186 0x00ba错误的旗帜下。

不,一个187 0x00bb可以找到指定的系统旗号。

188 0x00bc作业系统无法执行%1。

189 0x00bd作业系统无法执行%1。

在190 0x00be中,作业系统无法执行%1。

191 0x00bf无法在Win32模式下执行%1。

192 0x00c0作业系统无法执行%1。

193 0x00c1%1不是有效的Win32应用程序。

194 0x00c2作业系统无法执行%1。

195 0x00c3作业系统无法执行%1。

196 0x00c4作业系统无法执行这个应用程序。

197 0x00c5作业系统无法执行这个应用程序。

198 0x00c6作业系统无法执行%1。

199 0x00c7作业系统无法执行这个应用程序。

200 0x00c8代码的区段不可以大于或等于64KB。

201 0x00c9作业系统无法执行%1。

在202 0x00ca中,作业系统无法执行%1。

203 0x00cb系统找不到输入的环境选项。 \ R

205 0x00cd子目录中的指令,不跳闸信号副处理程式。

一个206 0x00ce的文件名或扩展名太长。

的207 0x00cf环2堆叠使用中。

受访者:我思故我在问 - 高级经理六12-9 1:24

答复:我思,故我问,你要的答复如下:积分规则关闭

该内存不能读,写的常见原因

使用Windows *** 作系统有时会遇到这样的错误信息:“0X????指令引用的0X00000000内存,该内存不能被写入,然后应用程序被关闭。如果你去问问一些“高手”,得到的答案往往是“Windows是如此不稳定的,就像”愤怒和不屑。其实,这个错误并不一定会导致Windows变得不稳定。本文简要分析了这种错误的常见原因。

首先,应用程序没有检查内存分配失败

需要内存来保存数据,你需要调用 *** 作系统所提供的功能到应用程序的内存分配成功,函数将返回新开的应用程序的内存区地址,这个地址内存的应用程序。这是动态内存分配,内存地址编程中的“指针”。

的记忆并不总是招之即来,有取之不尽的,有时候内存分配失败。的分配失败时,系统函数将返回的值是0,则返回值“0”并不意味着新开的的指针,但由系统发出的通知的应用程序错误。当一个应用程序,每个应用程序的内存应该检查返回值是0,如果是,则意味着出现了故障,应该采取一些措施,来挽救,这增强了程序的“健壮性”。

如果应用程序没有检查这个错误,它会被认为在按照“思维惯性”指针的值分配给它,这个内存后继续运行。真正的0地址内存区保存到计算机系统中,最重要的“中断描述符表”,绝对不允许应用程序使用。没有保护机制的 *** 作系统(如DOS),写数据到这个地址会导致立即死机,强大的 *** 作系统,如Windows等,这个 *** 作会马上被系统的保护机制捕捉,其结果是, *** 作系统强制关闭应用程序错误,防止错误扩大。在这个时候,“写内存”错误,并指出被引用的内存地址的“0x00000000”。

内存分配失败故障的原因很多,内存不够的系统函数的版本不匹配等都可能有影响的。因此,这种分配失败后很长一段时间使用的 *** 作系统是比较常见的,安装的应用程序(包括无意中“安装”的病毒程序),更改系统参数和系统文件。

应用程序正常的内存指针引用自己的BUG

应用程序使用动态分配的,有时这样的情况:程序试图读写“应该可用”的内存,但我不知道这是为什么预期的指针不可无效。有可能是“忘记了”向 *** 作系统要求分配,程序本身已被注销此内存在某些时候,“注意”等。只有命运的内存的系统恢复,取消其访问不属于应用程序,因此读写 *** 作,也将触发系统的保护机制,企图“违法”的程序 *** 作终止运行,回收全部的资源。计算机世界的法律或人类有效和严厉得多多啊!像这样属于程序自身的BUG,你往往可以在特定的 *** 作顺序错误重现。无效的指针不一定总是0,因此,存储器地址错误是不一定的“0x00000000”,但其他的随机数。

如果系统错误,经常被人提及,下面的建议可能会有帮助:

查看系统中是否有木马或病毒。这样的程序,以控制系统往往不负责任的的系统,导致 *** 作系统异常。通常情况下,应加强信息安全意识,从来没有好奇心的来源不明的可执行程序。

2。更新 *** 作系统, *** 作系统的安装程序重新拷贝正确版本的系统档案,修正系统参数。有时候 *** 作系统本身也会有BUG,要注意安装官方发行的升级程序。

3试用新版本的应用程序。

运行某些程序时,有时会出现内存错误提示,然后关闭该程序。

的“0x????”指令引用为0x????? “内存的内存不能”读“。

的“0x????”指令引用为0x????? “内存,该内存不能”写“。

我不知道你喜欢这个失败吗? (为0x后面的内容可能不相同。)

一般这种现象的发生方面,硬件,内存有问题,二是软件,它有一个范围广泛的问题。

让谈谈的硬件:

在一般情况下,内存问题的可能性并不大,主要方面:坏的内存,内存质量问题,是分为两个不同品牌不同容量的内存混,也更容易出现不兼容问题还要注意的是散热问题,特别是在超频。您可以使用该软件来检测MEMTEST内存,它可以彻底检测出内存的稳定度。

如果您双击内存,不同品牌的内存混插或者买了二手内存,就会发生这个问题,在这一点上,你要检查是不是内存问题或其它硬件不兼容。如果你不是,那么从软件故障排除。

简单介绍一下我的原则:数据存储缓冲区溢出的程序时,会发生数据在一个位置,因为没有足够的空间。例如:一个桶只有一斤的水,当你把一个两磅的水会溢出。该系统是在屏幕上表现出来。这个问题,经常在windows2000和XP系统上,Windows 2000/XP系统硬件要求非常苛刻事件的资源死锁,溢出或者类似Windows 98中的非法 *** 作,系统稳定,就会出现上述情况。也可以由硬件设备之间的相容性差引起的。

现在我有几个例子来分析:

例一:打开IE浏览器,或在几分钟内会有的“0x00000000”引用内存“0x70dcf39f”指令。该内存不能为“read”。要终止程序,请单击“OK”的消息框,单击“确定”,和“发生内部错误,您正在使用的一个窗口即将关闭”的信息框,关闭该消息,IE浏览器也可以打开关闭。解决方法:修复或升级IE浏览器的补丁。看过其中一个修复,WIN2000,这是Win2000升级到Win2000自升级,其实,这种做法是系统还原到系统初始状态。比如你的IE升级到60,自升级后,IE50代替。

例如:在Windows XP中,双击CD-ROM里面的“AUTORUNEXE”文件,指令引用的“0x77f745cc”的的“0x00000078”内存。该内存不能“写”,要终止程序,请单击“OK”,运行Windows 98是正常的。解决方法:这可能是系统的兼容性问题的winXP的系统,右键AUTORUNEXE,文件属性,兼容性,兼容模式运行这个程序“选项,并选择”Windows 98/Me的“Win2000的命中SP补丁,你在什么时候开始,运行。 ,请输入:REGSVR32 C:\ \ WINNT \ \ AppPatch文件\ \ slayeruidll右键,属性,兼容性选项

例三:使用RealOne黄金关闭错误是正常的,“为0xffffffff”指令引用的“0xffffffff的”记忆最近来了。该内存不能为“read”的提示。解决方法:当使用的输入法为微软拼音输入法2003,并且隐藏语言栏(没有隐藏没问题)关闭的RealOne出现这样的问题,所以,如果你可以关闭的RealOne显示语言栏或者任何其他输入法电流输入方式来解决这个问题。

例四:我的豪杰超级解霸自从上网后不能发挥每一个提示“Ox060692f6”(每次变化),请单击“确定”指令引用的“Oxff000011”内存不能“读”,终止程序。解决方法:试试重装豪杰超级解霸,如果重装后还会尝试的官方网站下载相应版本的补丁。仍然无法正常工作,尝试另一名球员不得不改变。

因为函数总会为自己的参数产生一个副本,所以就出现了你那个问题。

两个方法

1、改为TCHAR ,也就传递一个指针的指针

2、改为返回 TCHAR

BTW:

“TCHAR r;只是声明了一个指针,没有实际的存储DeviceName的存储空间,调用getName(TCHAR DeviceName)后,r只是记住了一个字符串ucharvar + ulongvar的地址,但是这个字符串临时变量ucharvar + ulongvar在getName(TCHAR DeviceName)返回后被销毁了(字符串内容被清除了),在按照r之前得到的地址去取内容的时候就是不可以预知的结果了。

要TCHAR r = new TCHAR[256];

这样当 DeviceName=(TCHAR)(ucharvar + ulongvar);时,内容就被拷贝到你new出来的内存中了,后面再等 r用完, 再delete []r;new[] 完一定要 delete[]”

这上面这种说法是错误的,自己去实践,不能误导别人。欢迎和我讨论。

不个你考代码

1,OpenProcess 函数打开目标进程 打开时权限给高点 要有读写内存的权限

2,VirtualAllocEx 函数在目标进程中分配内存(要写的权限,)

3,WriteProcessMemory 将你要加载的dll文件 全路径写到上面分配的内存里

4,获得LoadLibrary函数的地址 固定的

5,CreateRemoteThread 创建一个远程线程 函数体 是LoadLibrary 的地址 ,参数是 VirtualAllocEx 分配的地址

6,WaitForSingleObject 等待完成

7,清理工作

读取和上面差不多

VirtualProtectEx 修改内存权限

ReadProcessMemory

使用Windows *** 作系统的人有时会遇到这样的错误信息:“0X指令引用的0x00000000内存,该内存不能written”,然后应用程序被关闭。其实,这个错误并不一定是Windows不稳定造成的。

常见原因:

一、应用程序没有检查内存分配失败。

二、应用程序由于自身BUG引用了不正常的内存指针导致错误。

如果系统经常有所提到的错误提示,下面的建议可能会有帮助:

1查看系统中是否有木马或病毒。这类程序为了控制系统往往不负责任地修改系统,从而导致 *** 作系统异常。平常应加强信息安全意识,对来源不明的可执行程序绝不好奇。

2更新 *** 作系统,让 *** 作系统的安装程序重新拷贝正确版本的系统文件、修正系统参数。有时候 *** 作系统本身也会有BUG,要注意安装官方发行的升级程序。

3试用新版本的应用程序。

三、解决办法

1问题提示:

运行某些程序的时候,有时会出现内存错误的提示,然后该程序就关闭。

“0x”指令引用的“0x”内存。该内存不能为“read”。

“0x”指令引用的“0x”内存,该内存不能为“written”。

一般出现这个现象有方面的,一是硬件,即内存方面有问题,二是软件,这就有多方面的问题了。

2故障分析:

a硬件方面:

一般来说,内存出现问题的可能性并不大,主要方面是:内存条坏了、内存质量有问题,还有就是2个不同牌子不同容量的内存混插,也比较容易出现不兼容的情况,同时还要注意散热问题,特别是超频后。你可以使用MemTest 这个软件来检测一下内存,它可以彻底的检测出内存的稳定度。

假如是双内存,而且是不同品牌的内存条混插或者买了二手内存时,出现这个问题,这时,就要检查是不是内存出问题了或者和其它硬件不兼容。

b软件方面:

先简单说说原理:内存有个存放数据的地方叫缓冲区,当程序把数据放在其一位置时,因为没有足够空间,就会发生溢出现象。举个例子:一个桶子只能将一斤的水,当放入两斤的水进入时,就会溢出来。而系统则是在屏幕上表现出来。这个问题,经常出现在windows2000和XP系统上,Windows 2000/XP对硬件的要求是很苛刻的,一旦遇到资源死锁、溢出或者类似Windows 98里的非法 *** 作,系统为保持稳定,就会出现上述情况。另外也可能是硬件设备之间的兼容性不好造成的。

c举例说明:

例一:打开IE浏览器或者没过几分钟就会出现"0x70dcf39f"指令引用的"0x00000000"内存。该内存不能为“read”。要终止程序,请单击“确定”的信息框,单击“确定”后,又出现“发生内部错误,您正在使用的其中一个窗口即将关闭”的信息框,关闭该提示信息后,IE浏览器也被关闭。

解决方法:修复或升级IE浏览器,同时打上补丁。看过其中一个修复方法是,WinXP自升级,也就是WinXP升级到WinXP,其实这种方法也就是把系统还原到系统初始的状态下。比如你的IE升级到了70,自升级后,会被IE60代替。

例二:在windows xp下双击光盘里面的“AutoRunexe”文件,显示“0x77f745cc”指令引用的“0x00000078”内存。该内存不能为“written”,要终止程序,请单击“确定”,而在Windows 98里运行却正常。

解决方法:这可能是系统的兼容性问题,winXP的系统,右键“AutoRunexe”文件,属性,兼容性,把“用兼容模式运行这个程序”项选择上,并选择“Windows 98/Me”。win2000如果打了SP的补丁后,只要开始,运行,输入:regsvr32 c:winntapppatchslayeruidll。右键,属性,也会出现兼容性的选项。

例三:RealOne Gold关闭时出现错误,以前一直使用正常,最近却在每次关闭时出现“0xffffffff”指令引用的“0xffffffff”内存。该内存不能为“read” 的提示。

解决方法:当使用的输入法为微软拼音输入法2003,并且隐藏语言栏时(不隐藏时没问题)关闭RealOne就会出现这个问题,因此在关闭RealOne之前可以显示语言栏或者将任意其他输入法作为当前输入法来解决这个问题。

例四:播放器不能播放了,每次都提示“Ox060692f6”(每次变化)指令引用的“Oxff000011”内存不能为“read”,终止程序请按确定。

解决方法:试试重装播放器,如果重装后还会,到官方网站下载相应版本的补丁试试。还不行,只好换就用别的播放器试试了。

例五:双击游戏的快捷方式,“Ox77f5cdO”指令引用“Oxffffffff”内存,该内存不能为“read” ,并且提示Clientdat程序错误。

解决方法:重装显卡的最新驱动程序,然后下载并且安装DirectX90。

例六:电脑出现错误信息:“0772b548f”指令引用的“000303033”内存,该内存不能为“written”,然后QQ自动下线。

解决方法:这是对方利用QQ的BUG,发送特殊的代码,做QQ出错,只要打上补丁或升级到最新版本,就没事了。

例七:XP系统关闭网页时会d出“tbrowserexe遇到问题需要关闭”,然后有d出0x03e7c738指令引用的0x03e7c738内存,该内存不能为read。

解决方法:先查杀一下病毒,另外如果你安装了浏览增强之类的软件,请卸掉。

例八:从桌面或开始菜单中打开任何一个程序, 出现错误提示:"0x"指令引用的"0x00000000"内存,该内存不能为"read"。省略号代表可变值。而从运行中打开程序没问题。

解决方法:运行regedit进入注册表, 在HKEY_LOCAL_MACHINESOFTWAREMicrosoftWindowsCurrentVersionExplorerShellExecuteHooks 下,应该只有一个正常的键值"{AEB6717E-7E19-11d0-97EE-00C04FD91972}, 将其他的删除(默认键值当然不要删除)。

例九:系统比较不稳定,重装过多次系统,经常随机地出现Explorer-应用程序错误,“0x4a01259d“指令引用的“0x00000000"内存。该内存不能为 “read"。要终止程序,请单击“确定“。要调试程序,请单击“取消”。如果点确定,windows桌面就不见了。这种问题在之前的系统也出现过,不知道是不是硬件的问题?

解决方法:内存的兼容性问题!遇到这类问题,用户可以自行打开机器把内存的位置调动一下,看问题是否可以解决,如果问题依旧,可与你的朋友调换内存使用。

通过上述几个例子,可以看到,出现故障的原因有好多种,下面列出已经提到和有可能发生的原因,方便查阅。

1问题产生原因原因--解决方法

2内存条坏了--更换内存条

3双内存不兼容--使用同品牌的内存或只用一条内存

4内存质量问题--更换内存条

5散热问题--加强机箱内部的散热

6内存和主板没插好或和其它硬件不兼容等--重插内存或换个插糟

7硬盘有问题--更换硬盘

8驱动问题--重装驱动。如果是新系统,要先安装主板驱动

9软件损坏--重装软件

10软件有BUG--打补丁或用最新的版本。

11软件和系统不兼容--给软件打上补丁或者试试系统的兼容模式

12软件和软件之间有冲突--如果最近安装了什么新软件,卸载了试试

13软件要使用到其它相关的软件有问题--重装相关软件。比如播放某一格式的文件时出错,可能是这个文件的解码器有问题

14病毒问题--杀毒

15杀毒软件与系统或软件冲突--由于杀毒软件是进入底层监控系统的,可能与一些软件冲突,卸载了试试

16系统本身有问题--有时候 *** 作系统本身也会有BUG,要注意安装官方发行的升级程序,像SP的补丁,最好要打上。如果还不行重装系统或更换其它版本的系统了

————————————————————————————————

:)希望以上的回答对你有所帮助

以上就是关于我玩个单机游戏,进去后跳出来这个东西..“0x77c170dc”指令引用的“0x0176501e”内存,该内存不能为read全部的内容,包括:我玩个单机游戏,进去后跳出来这个东西..“0x77c170dc”指令引用的“0x0176501e”内存,该内存不能为read、C++ 内存指针参数问题、指定一个内存地址指针,对该地址进行取值时目标程序崩溃,怎么才能判断该地址是否可以进行取值 *** 作等相关内容解答,如果想了解更多相关内容,可以关注我们,你们的支持是我们更新的动力!

欢迎分享,转载请注明来源:内存溢出

原文地址: https://outofmemory.cn/web/10627279.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-05-10
下一篇 2023-05-10

发表评论

登录后才能评论

评论列表(0条)

保存