Visualizzazione dei risultati da 1 a 3 su 3
  1. #1

    Come individuare l'errore in un programma che va in tilt?

    Salve a tutti. Sto realizzando un programma che consente di giocare on-line a scacchi, quindi niente intelligenza artificiale... Il programma non ancora completo proseguiva correttamente, fino ad ora! Quando faccio scacco, il programma che lo subisce si blocca... non posso neanche chiudere la finestra con la crocetta! Si blocca finchè non clicco su una qualsiasi pedina... infatti poi torna tutto normale. Forse entro in un ciclo infinito, ma chi lo può dire?

    Inutile postare il codice lungo oltre 2000 righe, in sintesi vorrei sapere se c'è un modo per individuare il problema... uso Netbeans e ho provato la modalità Debug, non so bene come funzioni ma sembra che non abbia trovato anomalie.

    Consigli? Non so proprio fino a che punto ritornare indietro e purtroppo non ho una versione precedente funzionante .-.

  2. #2
    Come non detto... facendo scacco, si avverava una condizione che portava a un "continue" in un ciclo while, quindi ignorava l'incremento del contatore e di conseguenza la condizione del while risultava sempre vera

    Però rimane comunque valida la mia domanda: esiste qualche strumento che mi consente di verificare la stabilità di un programma? Così magari la prossima volta impiego meno tempo

  3. #3
    Decidere se un programma è corretto e/o efficiente è un problema indecidibile. Non esiste cioè un modo automatico per dirlo con certezza. Esistono tuttavia degli strumenti che aiutano a farlo, per esempio findbugs che attraverso l'analisi statica del codice riesce a segnalare possibili problemi. Se invece vuoi analizzare il tuo programma mentre è in esecuzione puoi fare uso di un debugger che nel tuo caso, per esempio, ti avrebbe permesso di verificare con facilità che la condizione da verificare per il 'continue' era sempre true. Se usi un IDE, come Netbeans o Eclipse, esistono plug-in che ti permettono di usare in maniera semplice queste tecnologie.
    Ciao.

Permessi di invio

  • Non puoi inserire discussioni
  • Non puoi inserire repliche
  • Non puoi inserire allegati
  • Non puoi modificare i tuoi messaggi
  •  
Powered by vBulletin® Version 4.2.1
Copyright © 2026 vBulletin Solutions, Inc. All rights reserved.