运行出现这种错误是怎么回事

Titan   2007-7-30 13:44 楼主
Exception !
Vector 13 : General Protection Fault
                 Program Counter : 0x73d0e67d
Status Register : 0x00010286
请问运行出现这种错误是怎么回事 ?

回复评论 (3)

引起这个问题,通常是内存区域不正常的读写,或者是执行代码的权限问题。建议结合PC指针和状态寄存器寻找出问题的代码,并且查阅x86架构的指令说明书。
点赞  2007-7-30 21:58
内存异常 可能是系统分配的堆栈空间发生溢出  malloc 一块合适的内存试验一下
点赞  2007-8-8 16:06
异常13 通用保护错。 你用的是Intel 的CPU。

出现这种问题,一般是你访问了非法的内存地址,比如0地址,或不存在的地址。

还有就是你的代码可能试图更改 只读的内存区域。

定位这种问题,需要看一下发生问题时的积存器信息,特别EIP 指令地址寄存器。

通过EIP,对照你编译时生成的MAP 文件就可以发生问题的函数。

当然,如果你将发生问题那个函数的C语言反汇编的话,

根据偏移还可以查到发生问题的语句。
点赞  2007-8-8 20:53
电子工程世界版权所有 京B2-20211791 京ICP备10001474号-1 京公网安备 11010802033920号
    写回复