Per Què Es Bloquegen Els Programes?

Per Què Es Bloquegen Els Programes?
Per Què Es Bloquegen Els Programes?

Vídeo: Per Què Es Bloquegen Els Programes?

Vídeo: Per Què Es Bloquegen Els Programes?
Vídeo: How language shapes the way we think | Lera Boroditsky 2024, Abril
Anonim

La varietat de tasques resoltes avui amb l'ajut d'ordinadors personals ve proporcionada per l'existència d'un gran conjunt de programes d'aplicació. La comoditat de treballar amb el programari depèn en gran mesura de la seva fiabilitat, que s’expressa en absència de situacions d’emergència. No obstant això, molts programes es bloquegen en el moment més inoportú. Per què?

Per què
Per què

El mecanisme d’excepció s’utilitza per rastrejar i gestionar situacions especials, anormals o errònies que sorgeixen durant el funcionament de programes d’ordinador sota el control de sistemes operatius moderns. Les excepcions poden ser el maquinari (llançat pel processador) i el programari (llançat per la pròpia aplicació o algun component extern del complement).

Independentment del tipus, l'excepció es pot detectar i gestionar correctament. Les excepcions no capturades van al controlador de biblioteca de temps d'execució arrel o a un controlador instal·lat pel sistema operatiu. Si això passa, el programa es bloqueja amb un missatge o una finestra de finalització anormal (a Windows). Si el controlador del sistema operatiu no funcionava (per exemple, es va eliminar deliberadament), el programa "es bloqueja silenciosament". Per tant, els programes es bloquegen a causa d’excepcions que no es poden gestionar. Els motius de l'aparició d'excepcions són diferents.

En la immensa majoria dels casos, els programes es bloquegen a causa de l'execució del seu propi codi que conté errors d'implementació explícits o implícits. La llista de possibles causes d’emergències és molt llarga. Es tracta d’errors clàssics d’operacions en números de coma flotant (per exemple, divisió per 0) i errors de treball amb memòria (lectura o escriptura fora de l’espai d’adreces del procés, accés a pàgines protegides, escriptura a una àrea de memòria de només lectura), pila de desbordament a causa d’una recursivitat infinita, etc. En aquests casos, es generen excepcions de maquinari o de sistema operatiu.

Els errors implícits inclouen diversos casos de filtratge insuficient de les dades d’entrada, manca de validació dels valors del punter i molt més. Aquestes deficiències condueixen a situacions excepcionals només en determinats casos.

Els errors d'implementació també es poden trobar en components externs que utilitza l'aplicació. Per exemple, a les biblioteques dinàmiques que proporcionen la funcionalitat o els mòduls de complement necessaris. El codi del programa que es carrega implícitament a l’espai d’adreces d’un procés (per exemple, per tal d’interceptar determinades funcions de l’API) també pot provocar un bloqueig del programa.

Molts components i biblioteques (per exemple, ADO al Windows) utilitzen el mecanisme d'excepció programàtica com a prioritat per informar d'errors. L’absència o la gestió incompleta d’excepcions per aquest tipus d’aplicació pot provocar el seu bloqueig fins i tot en situacions completament inofensives (com ara la pèrdua de connexió a la base de dades).

Recomanat: