程序运行时的缺页异常是怎么发生和捕获的
2014-10-30 16:42
274 查看
现代的cpu一般有一个描述表寄存器gdtr,指向一个描述表,描述表项就是程序运行状态参数,包括内存位置这些信息都在里面。操作系统一般是写表项,注册例外处理例程。 你程序访问越界,cpu就执行操作系统例外,这时操作系统就有了机会来执行处理代码。一般是给你抛一个例外,产生一个core,你这样拿着这个core来重现程序状态。 没什么东西可以看,看了也没什么意思,理解这么回事就可以。 |
相关文章推荐
- java中用try如果catch到异常,怎么把这个异常处理掉让程序继续运行
- Java程序运行过程中的异常捕获
- 捕获ASP.NET程序发生的异常
- Android程序运行过程中因未捕获异常而异常终止
- Myeclipse运行程序时,发生异常:Exception in thread ""http-bio-8080"-exec-1" java.lang.OutOfMemoryError: PermGen
- 如何让Delphi在调试运行程序时正确执行捕获异常
- .net 程序发生了一个不可捕获的异常
- C#、VS2012 Winform程序解决方案名称更改后报错“调试器无法继续运行该进程。调用的目标发生了异常。”
- 使用两个不同类型的数据进行加法计算时,使用异常处理语句捕获由于数据类型错误而出现的异常,发生生成错误。是否继续并运行上次的成功生成?
- android看不见main函数怎么办?程序异常了,可以不提示“xxx软件停止运行”吗?
- AppDomain的两个小技巧(程序运行完毕和未处理异常的处理) 捕获未处理异常
- .NET 异常捕获机制的小技巧应用(实例:端口扫描程序)
- 华山之巅,摆平.NET――ASP.NET调试库损坏导致程序运行异常
- winform中捕获程序未处理的所有异常
- Java程序发生异常就挂了吗?
- 体面地处理程序的未捕获异常
- C++ 程序稳定运行一段时间后异常中止,为什么?vc6 运行库的bug!!!
- Win64 注册表重定机制向导致程序运行异常
- 运行.net2003时发生访问被拒绝:“MySql.Data”的异常
- 怎么判断一个程序正在运行,不能让程序重复启动