Contingut

# Depuració d'un programa del Basic

## Punts de ruptura i execució pas a pas

Podeu comprovar cada línia del vostre programa del Basic en busca d'errors amb una execució pas a pas. Els errors es rastregen fàcilment perquè podeu veure immediatament el resultat de cada pas. Una busca a la columna de punt de ruptura indica la línia actual. També podeu establir un punt de ruptura si voleu forçar la interrupció del programa en una posició específica.

Feu doble clic a la columna punt de ruptura a l'esquerra de la finestra Editor per commutar un punt de ruptura a la línia corresponent. Quan el programa arriba a un punt de ruptura, l'execució del programa s'interromp.

L'execució pas a pas mitjançant la icona Pas a pas provoca que el programa es dividisca en procediments i funcions.

L'execució de pas de procediment mitjançant la icona Pas de procediment provoca que el programa salti procediments i funcions com un únic pas.

### Propietats d'un punt de ruptura

Les propietats d'un punt de ruptura estan disponibles a través del seu menú contextual si feu clic amb el botó dret al punt de ruptura a la columna de punt de ruptura.

Podeu activar i desactivar un punt de ruptura seleccionant Activa al menú contextual. Quan es desactiva un punt de ruptura, no s'interromp l'execució del programa.

Seleccioneu Propietats al menú contextual d'un punt de ruptura o seleccioneu Punts de ruptura al menú contextual de la columna punt de ruptura per cridar el diàleg Punts de ruptura on podeu especificar altres opcions de punt de ruptura.

La llista mostra tots els punts de ruptura amb el número de línia corresponent al codi font. Podeu activar o desactivar un punt de ruptura seleccionat marcant o desmarcant el quadre Activa.

El Recompte de passades especifica el nombre de vegades que es pot passar per un punt de ruptura abans que el programa s'interrompi. Si introduïu 0 (valor per defecte) el programa sempre s'interromp tan prompte com es troba el punt de ruptura.

Feu clic a Suprimeix per suprimir el punt de ruptura del programa.

## Observació dels valors de les variables

Podeu supervisar els valors d'una variable afegint-la a la finestra Observador. Per afegir una variable a la llista de variables observades, escriviu el nom de la variable al quadre de text Observador i premeu Retorn.

Els valors de les variables només es mostren si es troben en l'àmbit. Les variables que no s'han definit a la ubicació de codi font actual mostren ("Fora d'àmbit") en lloc d'un valor.

També podeu incloure matrius a la finestra Observador. Si introduïu el nom d'una variable de matriu sense un valor d'índex al quadre de text Observador, es mostra el contingut de tota la matriu.

Si deixeu el ratolí sobre una variable predefinida a l'Editor durant l'execució, el contingut de la variable es mostrarà en un quadre emergent.

## La finestra Pila de crides

Ofereix una visió general de la jerarquia de crides dels procediments i de les funcions. Podeu determinar quins procediments i funcions criden quins altres procediments i funcions en el punt actual del codi font.

## Llista d'errors d'execució

1 S'ha produït una excepció

2 Error de sintaxi

3 Retorn sense Gosub

4 Entrada incorrecta; torneu-ho a provar

5 La crida al procediment no és vàlida

6 Desbordament

7 Memòria insuficient

8 La matriu ja està dimensionada

9 L'índex és fora de l'interval definit

10 Definició duplicada

11 Divisió per zero

12 No s'ha definit la variable

13 Els tipus de dades no coincideixen

14 El paràmetre no és vàlid

18 El procés ha estat interromput per l'usuari

20 Continua sense error

28 No hi ha prou memòria de pila

35 No s'ha definit el subprocediment o el procediment de la funció

48 S'ha produït un error en carregar el fitxer DLL

49 Convenció errònia en la crida a la DLL

51 Error intern

52 El nom o el número del fitxer és incorrecte

53 No s'ha trobat el fitxer

54 Mode incorrecte del fitxer

55 El fitxer ja és obert

57 Error d'E/S del dispositiu

58 El fitxer ja existeix

59 Longitud incorrecta del registre

61 El disc o el disc dur és ple

62 La lectura excedeix el final del fixer (EOF)

63 Número incorrecte de registre

67 Massa fitxers

68 El dispositiu no està disponible

70 S'ha denegat l'accés

71 El disc no està preparat

73 No està implementat

74 No es pot canviar el nom en unitats diferents

75 Error d'accés al camí/fitxer

76 No s'ha trobat el camí

91 La variable d'objecte no està definida

93 El patró de la cadena no és vàlid

94 "L'ús del zero no és permés

250 Error DDE

280 S'està esperant resposta a la connexió DDE

281 No hi ha canals DDE disponibles

282 Cap aplicació no ha respost a la iniciació de la connexió DDE

283 Massa aplicacions han respost a la iniciació de la connexió DDE

284 Canal DDE blocat

285 L'aplicació externa no pot executar l'operació DDE

286 S'ha excedit el temps mentre s'esperava la resposta DDE

287 L'usuari ha premut la tecla d'escapada durant l'operació DDE

288 L'aplicació externa està ocupada

289 L'operació DDE no té dades

290 Les dades són en un format erroni

291 L'aplicació externa ha estat finalitzada

292 S'ha interromput o modificat la connexió DDE

293 S'ha invocat el mètode DDE sense cap canal obert

294 El format de l'enllaç DDE no és vàlid

295 S'ha perdut el missatge DDE

296 L'enllaç ja s'ha enganxat

297 No es pot definir el mode d'enllaç perquè el tema de l'enllaç no és vàlid

298 El DDE necessita el fitxer DDEML.DLL

323 No es pot carregar el mòdul; el format no és vàlid

341 L'índex de l'objecte no és vàlid

366 L'objecte no està disponible

380 Valor incorrecte de la propietat

382 Esta propietat és només de lectura

394 Esta propietat és només d'escriptura

420 La referència de l'objecte no és vàlida

423 No s'ha trobat la propietat o el mètode

424 Es necessita un objecte

425 Ús no vàlid d'un objecte

430 Este objecte no permet l'automatització OLE

438 L'objecte no permet esta propietat o mètode

440 Error d'automatització d'OLE

445 L'objecte indicat no permet esta acció

446 L'objecte indicat no permet els arguments anomenats

447 L'objecte indicat no permet la configuració de llengua actual

448 No s'ha trobat l'argument anomenat

449 L'argument no és opcional

450 El nombre d'arguments no és vàlid

451 L'objecte no és una llista

452 El nombre ordinal no és vàlid

453 No s'ha trobat la funció DLL indicada

460 El format del porta-retalls no és vàlid

951 No s'esperava el símbol:

952 S'esperava:

953 S'esperava un símbol

954 S'esperava una variable

955 S'esperava una etiqueta

956 No es pot aplicar el valor

957 La variable ja s'ha definit

958 El subprocediment o el procediment de funció ja s'ha definit

959 L'etiqueta ja s'ha definit

960 No s'ha trobat la variable

961 No s'ha trobat la matriu o el procediment

962 No s'ha trobat el procediment

963 No s'ha definit l'etiqueta

964 Tipus de dades desconegut

965 S'esperava l'eixida

966 El bloc d'expressió encara és obert: falta

967 Els parèntesis no concorden

968 El símbol ja s'ha definit d'una altra manera

969 Els paràmetres no corresponen al procediment

970 El nombre conté un caràcter no vàlid

971 S'ha de dimensionar la matriu

972 Else/Endif sense If

973 no és permés dins d'un procediment

974 no és permés fora d'un procediment

975 Les especificacions de dimensió no coincideixen

976 Opció desconeguda:

977 S'ha donat un altre valor a la constant

978 El programa és massa gran

979 No es permet l'ús de cadenes ni matrius

1000 L'objecte no té esta propietat

1001 L'objecte no té este mètode

1002 Falta un argument necessari

1003 El nombre d'arguments no és vàlid

1004 S'ha produït un error en executar un mètode

1005 No es pot definir la propietat

1006 No es pot determinar la propietat