英特尔电脑卡顿严重解决方法-英特尔电脑系统崩溃怎么解决
1.描述的是什么意思?怎么解决这种问题?
2.换了内存条,系统崩溃了,电脑提示:ntoskrnl.exe文件丢失,请教高手
描述的是什么意思?怎么解决这种问题?
非法访问地址的意思!
访问冲突(非法访问)错误的解决方案(来自互联网)2009-02-03 16时33访问冲突(非法访问),一般保护性错误(一般保护性错误)或无效页错误(无效页错误),尽管这些说法是不一样的,但本质是一样的错误。访问冲突通常计算机用户运行的程序试图访问内存区域不能指定使用的时候遇到。地址
Windows用户可能会经常看到类似的错误信息的读取
访问冲突在地址
模块
: “错误:在地址836556F8访问冲突读取地址836556F8(00401000)的(004096da)。”作为一个Delphi开发程序,有更多机会遇到此错误(^ _ ^)比其他用户。
一旦Windows要分配给它的存储区之外写数据时,它会覆盖其他程序或操作系统命令或数据。一旦发生这种情况时,操作系统会崩溃,或以某种形式关闭,你必须重新启动计算机。例如,当Windows NT/2000下一个程序遇到此错误,沃森博士出现了,并停止该程序,捕获国家一些快速的细节,然后将它们记录在文本形式。访问冲突错误是最让人头疼的某些Windows程序遇到的一个。本文的目的是让你找到在访问冲突在Delphi的解决方案。首先,声明,访问冲突和Microsoft Access没有任何关系。
当使用Delphi开发过程中,我们会遇到访问冲突分为两类:运行时和设计时。
一,访问冲突
1的设计。硬件原因
启动一个Delphi德尔福IDE和项目容易出现访问冲突的编译器的设计阶段或关机。出现访问冲突消息可能由多种原因,包括系统BIOS,操作系统或硬件的驱动程序行您的计算机上运行造成的,有些声卡,显卡,网卡实际上将导致此错误。为什么这么说?在计算机每张卡都有自己的设备驱动程序。对于不同的制造商,Windows或不同版本的Delphi不同版本可能会遇到不同的问题。下面的步骤可以帮助您解决遇到的这些问题:。
1。按照必要的步骤,以证明有您所安装的驱动程序之间没有冲突。
2。有时降低显示分辨率可能会导致一些奇怪的图形驱动程序稳定一些。
3。如果您使用的是双处理器的主板,确保相同的步骤来每个处理器。
4。有关使用最新的驱动程序的计算机硬件所有的注意力。
2。原因
尽管英特尔软件电脑Windows是目前最流行的操作系统,由于误操作先天脆弱性和BUG Windows系统,应用程序可能会导致操作系统提示瘫痪(有时操作系统本身也会莫名其妙地瘫痪)。选择一个更稳定的发展环境,是解决方案,下面的步骤可以帮助你避免一些发生访问冲突:
(1)尽管非常流行的Windows 9X中,Windows NT/2000或以多种方式证明是一个更加稳定的环境,几乎所有的Windows平台上的代码方面是这样的。
(2)确保Windows NT/2000已经安装了最新的Service Pack。您安装Service Pack的新版本每一次,你会发现机器变得稳定。
(3)供您使用安装在当前的更新或补丁(BDE,ADO ......),这是一个很好的方式,以防止错误提前各种版本的Delphi。尽量使用最新的Delphi补丁 - 访问冲突错误,一些错误,尤其是设计会大大降低。
(4)如果你经常在IDE中随机遇到访问冲突错误,很可能是你安装了一个控制不好,包或一个向导,它不是你是用Delphi写或编译的版本。尝试一个卸载定制的控件(或包),直到问题得到解决,那么请联系供应商控制关心这个问题的结果。
(5)检查是否有没用的东西和程序冲突的计算机。奇怪的软件程序和产品的测试版本往往会导致存取违规错误。
(6)如果系统设置有错误,那么也可能会出现访问冲突错误频频。如果你经常遇到类似的访问冲突的错误消息,记录下这些细节,然后通知可能会导致错误的软件制造商。
所有这些都是我的建议,供访问冲突错误的设计。
二,访问冲突德尔福运行?如何预防?
任何软件开发都会遇到这样的情况:你写的程序和测试,然后到处发送,用户的结果会告诉你它失败了。
您可以考虑使用编译器指令{$ D}编译你的程序 - Delphi能够创造找出访问冲突错误源图像文件的环境,有利于。 Project Options对话框(项目|选项|连接器和编译器)允许你指定你需要的一切。对于单元文件,调试信息和单位一起在目标代码文件记录单元。如果编译时使用本机的程序,调试信息会增加文件的大小单位,将增加额外的内存开销,但是它不会影响最终可执行文件的大小和速度。包含调试信息和图像文件(项目|选项|连接器)选项的产品只有在{$ D +}编译器指令将完成下一行信息。
访问冲突通常会显示该程序出来的一个方面。当问题第一次出现,考虑什么样的行动用户是非常重要的,然后找到从这里突破。但从用户的角度来看,你的程序暂停他们的工作,他们会告诉你这个问题似乎发生,让你扩展来解决这个问题。然而,用户交互,找出问题,并提高程序的唯一有效途径。
现在,您将能够知道,只是为了给你的地址冲突的情况下,如何轻松地找到确切的路径,源代码文件,发生访问冲突错误行:
“搜索 - 查找错误......“
当运行时访问冲突发生时,你的用户获得类似下列条件的错误消息:
访问冲突在地址 在模块
读地址
如果你的程序中包含在Delphi IDE中编译调试信息,您可以导航到该错误导致源代码线。
在Delphi程序中,最常见的原因存取违规错误之一是没有被创建使用的对象。如果第二个地址是FFFFFFF或0000000,十有八九就是你访问?该对象尚未建立。例如,你调用窗体的事件,但形式不会自动创建的,没有代码实例化。
程序TfrMain.OnCreate(发件人:TObject的);
变种BadForm:TBadForm;
/> / /这里开始<br将产生访问冲突
BadForm。刷新;
结束;
假设BadForm在工程选项“可用表单”窗口列表 - 这个窗口是需要手动创建和释放。在上面的代码中调用BadForm窗口Refresh方法会导致访问冲突。
如果您“停止Delphi的异常效应”调试器选项窗口的话,它会弹出以下消息:
该消息指出EAccessViolation已经发生的EAccessViolation是异常类。对于
这是当你将看到设计过程中的信息,在下一个消息框将出现,并且程序失败。
访问冲突在地址0043F193
在模块'成Project1.exe'阅读。
第一个十六进制数0043F193访问冲突发生运行时错误地址的汇编代码(成Project1.exe)。在IDE中,选择菜单项|后“搜索查找错误...”,输入错误发生在该对话框中单击“确定”按钮的地址(0043F193)。德尔福将重新编译你的项目文件,然后显示发生运行的代码行的错误,这里是BadForm.Refresh这条线。
下面列出了Delphi环境中最常见的原因导致访问冲突错误。这个清单是没有,也不可能涵盖可能出现的访问冲突的所有情况。在座谈会上,请将您的访问冲突的信息,我们可以尝试解决这个问题一起 - 根据上市一般是多少更多的错误比晦涩的真正的实际例子。
1。调用一个不存在的对象
如上所述,大部分访问冲突的合理理由不被使用或已被释放来创建对象。为了防止这种类型的访问冲突发生时,您一定要首先创建的任何对象。例如,当定位在数据模块中的表还没有创建(从自动混凝土删除窗口),你可以在窗体的OnCreate事件里打开表。
在下面的代码中,调用一个对象已被删除:(B的TBitmap)事件后,一个访问冲突出现了:
变种B:TBitmap的;
开始 B:= TBitmap.Create;
/ / B目标对一些行动
b.free;
结束;
.. 。
/ /由于b已经被释放,就会发生存取违规错误
b.Canvas.TextOut(0,0,'这是一个访问冲突');
结束;
>
2如果你想传递参数到Win API函数不存在会有一个访问冲突错误不存在的API参数
。解决这个访问违规错误的最好方式就是访问Win API实现的帮助,请参阅API函数调用的参数信息以及参数类型。例如,始终确保不给传递了一个无效指针的缓冲区参数。
3。允许德尔福释放
当一个对象具有另一个对象,你做删除工作。因为默认情况下,所有形式的(自动创建)属于Application对象。在应用程序结束时,它会释放Application对象,它发布的所有形式。例如,如果您自动创建两种形式在程序启动时(Form1/Unit1和Form2/Unit2),下面的代码会导致访问冲突错误发生:
单元1单元;
.. 。
采用单元2;
...
程序TForm1.Call_Form2
Form2.ShowModal;
Form2.Free;
/ /访问冲突将发生错误
Form2.ShowModal; 结束;
4杀异常
决不破坏临时异常对象(E),异常处理会自动释放异常对象。如果你手动释放异常对象,程序会尝试再次释放它,那么就会出现访问违规错误:
零:= 0;
哑:= 10 /零; 除
在E:。 EZeroDivide做
的MessageDlg('!不能用0做除数“,mtError,[MBOK],0);
E.free / / / /访问冲突将发生错误
结束;
5
检索一个空字符串,空字符串是没有任何数据。也就是说,一个空字符串相当于检索对象的访问不存在的,这将导致访问违规错误:
变种S:字符串;
S:=''; S [1]:='A';
/ /访问冲突将发生错误
结束;
6直接引用指针
您必须是间接的。参考指针,否则你会改变指针地址和其他存储单元可销毁:
过程TForm1.Button1Click(发件人:TObject的);
P1:指针;
P2:指针;
getmem函数(P1,128);
getmem函数(P2,128);
/ /下一行导致访问冲突错误
移动(P1, P2,128);
/ /下一行的方法正确
移动(P1 ^,P2 ^,128);
的FreeMem(P1,128);
的FreeMem(P2,128 );
结束;
所有这些建议,是我的运行时访问冲突错误,我希望你可以做一些错误的认识,你的程序会出现访问冲突。
换了内存条,系统崩溃了,电脑提示:ntoskrnl.exe文件丢失,请教高手
进程文件: ntoskrnl 或者 ntoskrnl.exe
进程名称: Microsoft Boot Up Kernel
进程描述:ntoskrnl.exe是保护性的进程,在你计算机反复启动的情况下出现。在正常情况下,在任务管理器是不会有该进程的。注意:
ntoskrnl.exe也可能是w32.bolzano病毒。使用杀毒软件进行查杀。
可以知道此文件是winows的一个进程文件,,只是在系统经过预启动和启动阶段后进入内核调用阶段时由Ntldr调用Ntoskrnl.exe,
,此文件在WINXP系统中存储了WIN XP的启动LOGO画面。
调用Ntoskrnl.exe文件时将由Ntdetect.com收集的硬件信息传递给它,同时被调用的还有hal.dll文件.如果你有多个硬件配置文件,
当运行到这一步的时候,你会在屏幕上看到要求选择硬件配置文件的信息.另外,Ntldr也将从注册表中调用所有启动值为0x0的设备驱
动程序.如果你在boot.ini文件中有" /sos"参数,一般在" /fastdetect"后面,那么你将看到调用设备列表;
典型故障:启动的时候出现错误信息:"Ntoskrnl.exe missing or corrupt on bootup"(ntoskrnl.exe丢失或者损坏)
如果出现下列情形之一,会出现ntoskrnl.exe错误出现:
-新增加了一个硬盘或者改变了原有的分区,例如:删除了原来的一个分区或者将原来的两个分区合并,都可能导致boot.ini文件中的
[bot loader]部分的default值丢失或者无效,从而在启动过程中无法找到启动所需的文件;
-Ntoskrnl.exe文件被删除或者被损坏;
解决办法: -使用启动盘启动操作系统,编辑boot.ini文件,检察与下面一行类似的命令中是否有错误:
muti(0)disk(0)rdisk(0)partition(1)\\WINNT="microsoft windows 2000 professional" /fastdetect
这一行表示在第一个ide硬盘上rdisk(0)的第一个分区上partition(1)装有win2k,大家可以根据这个规律来查找自己的boot.ini
文件中的数值是否正确;
-如果没有发现错误,将win2k安装光盘放入光驱,然后再命令行输入:
expand x:\\i386\\ntoskrnl.ex_ c:\\ntoskrnl.exe
回车,提示文件已经释放,取出光盘,reset
-另外 从其他的电脑上复制来的这个文件是不能使用的,必须注册,在"开始""运行"中输入"regsvr32 ntoskrnl.exe"
为了你电脑启动快一下,还有就是查看一下是不是启动项目里面有病毒,你可以点击开始-运行-输入msconfig回车出现对话框 把上面最后一
个启动项里面的除了输入法(ctfmon)以外其他的启动项目前面的勾全部去掉,重新启动,最好以上操作你去网络连接的安全模式去操作 如果
是2000系统的话就其他系统拷贝一个MSCONFIG文件。以上办法一个是可以解决浏览器中病毒,主页不能修改等,另一个可以去掉启动项里面加
载的木马病毒和加速电脑运行,增大内存运行空间等功能,你使用了一定受益
直接把C盘 格掉 重新安装
声明:本站所有文章资源内容,如无特殊说明或标注,均为采集网络资源。如若本站内容侵犯了原著者的合法权益,可联系本站删除。