请问软件crash的主要原因是什么,怎么预防,crash和异常有什么区别?

解决方案 »

  1.   

    呵呵,其实软件crush的主要原因是操作系统或者cpu认为这个软件做了非法的事情
      

  2.   

    不会,顶一下.
    crash和异常到底有什么不同啊?
      

  3.   

    crash是访问了不该访问的东西,比如对非法地址进行写操作。
    异常可能很多,它可以被捕获的到
      

  4.   

    一般crash是以下2种:1 是由于除数是0导致了除0中断2 操作系统在页表中捣鬼,然后你的程序由于某种没有考虑到的异常情况,比较常见的是栈被异常修改,然后esp指向了一个被保护的页,或者刚好是压栈的函数返回地址被修改,然后pc指向了一个被保护的页.而被做了手脚页表不允许你访问(比如,该地址不存在,当前的访问优先级比该地址所在的页的优先级小),造成了访问违例中断