怎样捕捉AV(Access violation)?
AV(Access violation)内存存取错误是经常会发生的事情,通常是使用了失效的指针,或是忘了回收分配的内存空间所引起的资源泄漏造成的。在运行期间产生的AV还好捕捉,至少大体上知道AV出现在什么地方。然而在退出程序时所引起的AV则最难捕捉。如果您也遇到了这样的情况,那么恭喜您,您遇到了和我一样的令人头痛的问题。
如果是第三方控件在退出程序时引起的AV,而这种AV又不是经常会发生,只是偶尔发生,那么又该怎么办了呢?我的应用程序使用了好多第三方控件,当然如果知道是哪个控件引起了AV,我最多不使用这个控件,问题的关键是我不知道是哪个控件引起了AV,总不能把第三方控件一梆子打死,全部不使用吧?
通常在运行期产生的AV,delphi会跳出对话框,其中会有一个“View CPU”的选项,通过查看CPU窗口,大体知道AV出现在什么地方。而退出程序所引起的AV,则不会有“View CPU”的选项,通常这个对话框是操作系统产生,不是Delphi调试环境产生的,比如这个AV对话款“Exception EAcessViolation in module Project1.exe at
00027564,access violation at adress 00427564 in module 'Project1.exe' write of Adress 001470785”。
请问各位是否有调试这类AV的高招,望不啬赐教,在下不深感激。
如果是第三方控件在退出程序时引起的AV,而这种AV又不是经常会发生,只是偶尔发生,那么又该怎么办了呢?我的应用程序使用了好多第三方控件,当然如果知道是哪个控件引起了AV,我最多不使用这个控件,问题的关键是我不知道是哪个控件引起了AV,总不能把第三方控件一梆子打死,全部不使用吧?
通常在运行期产生的AV,delphi会跳出对话框,其中会有一个“View CPU”的选项,通过查看CPU窗口,大体知道AV出现在什么地方。而退出程序所引起的AV,则不会有“View CPU”的选项,通常这个对话框是操作系统产生,不是Delphi调试环境产生的,比如这个AV对话款“Exception EAcessViolation in module Project1.exe at
00027564,access violation at adress 00427564 in module 'Project1.exe' write of Adress 001470785”。
请问各位是否有调试这类AV的高招,望不啬赐教,在下不深感激。
...全文
相关推荐
运行程序提示access violation at address的解决方法.docx
运行程序提示access violation at address的解决方法.docx
Access violation at address故障的解决方法 win7图文解决方案
Access violation at address故障的解决方法,图文说明,帮您轻松解决^_^
Access violation at address 00000000.Read of adress 00000000解决方法
Access violation at address 00000000.Read of adress 00000000之类错误的解决方法
弹出错误 access violation at address 004096da write of address 00401000 解决
Access Violation(非法访问),General Protection Fault(一般保护性错误)或者Invalid Page Fault(无效页面错误),虽然说法不一样,但本质上总是由同一种错误引起的。Access Violation常常在计算机用户运行的程序试图存取未被指定使用的存储区时遇到。
提示access violation at address解决办法.docx
提示access violation at address解决办法.docx


