Italian community of Lazarus and Free Pascal

Programmazione => Generale => Topic aperto da: bonmario - Giugno 07, 2021, 12:11:53 pm

Titolo: Programma che si chiude da solo
Inserito da: bonmario - Giugno 07, 2021, 12:11:53 pm
Ciao a tutti,
ho un vecchio programma, che ho fatto quando ero ancora alle prime armi in Lazarus, che da un mese circa mi crea problemi.
Uso questo programma sia in Windows che su Linux e, su Linux, non sempre, ma spesso, mi si chiude mentre sta girando, senza dare nessuna segnalazione.

Praticamente il programma riceve in input un elenco di directories e, per ognuna, fa questo
- la zippa
- copia il file zippato su chiavetta
- verifica che il file su disco e quello su chiavetta siano uguali
- quando ha elaborato tutta la lista, spegne il PC

Il problema è che di solito lo lancio ed amen. Ultimamente capita che dopo un paio d'ore noto che il PC è ancora acceso, vado a vedere e noto che il programma è chiuso.
Ho provato a tenerlo sott'occhio 2 o 3 volte, ma la directory su cui sta lavorando quando succede il patatrac non è sempre la stessa.



Avete qualche consiglio da darmi su come fare a capire la zona del programma che causa questo problema?


Ciao, Mario
Titolo: Re:Programma che si chiude da solo
Inserito da: xinyiman - Giugno 07, 2021, 01:07:26 pm
Ciao a tutti,
ho un vecchio programma, che ho fatto quando ero ancora alle prime armi in Lazarus, che da un mese circa mi crea problemi.
Uso questo programma sia in Windows che su Linux e, su Linux, non sempre, ma spesso, mi si chiude mentre sta girando, senza dare nessuna segnalazione.

Praticamente il programma riceve in input un elenco di directories e, per ognuna, fa questo
- la zippa
- copia il file zippato su chiavetta
- verifica che il file su disco e quello su chiavetta siano uguali
- quando ha elaborato tutta la lista, spegne il PC

Il problema è che di solito lo lancio ed amen. Ultimamente capita che dopo un paio d'ore noto che il PC è ancora acceso, vado a vedere e noto che il programma è chiuso.
Ho provato a tenerlo sott'occhio 2 o 3 volte, ma la directory su cui sta lavorando quando succede il patatrac non è sempre la stessa.



Avete qualche consiglio da darmi su come fare a capire la zona del programma che causa questo problema?


Ciao, Mario

Hai messo dei try ... except per capire il tutto? Inoltre ti consiglio di disseminare il programma di writeln con messaggi univoci. Poi lanci il programma da terminale e vedi l'ultimo writeln che compare prima di chiudersi. Così dovresti identificare il punto dove teoricamente va in errore e poni rimedio.
Titolo: Re:Programma che si chiude da solo
Inserito da: bonmario - Giugno 07, 2021, 01:24:56 pm
Try / except al momento c'è solo sulla procedura principale che lancia le operazioni che ho decritto prima, potrei provare a metterne una su ognuna delle varie fasi.

Alla writeln non ci avevo pensato, buon consiglio !!!

Grazie, Mario
Titolo: Re:Programma che si chiude da solo
Inserito da: DragoRosso - Giugno 07, 2021, 09:38:10 pm
Solo un consiglio:

usa i try ... except ovunque si possano presentare potenziali problemi, in primis quando manipoli file su disco o esegui operazioni su database.

Sulle allocazioni di memoria orami è molto difficle ci siano problemi (intendo problemi tipo mancanza di spazio ad esempio per troppa frammentazione della memoria stessa), ma su disco i problemi possono sempre accadere.

Tra l'altro l'operazione di compressione, a seconda delle tecniche e delle librerie che usi, sono solitamente "pesanti" con possibili problemi, in Linux c'è pure la gestione delle autorizzazioni sui file che potrebbe provocare qualche "disagio" ...

Ciao
Titolo: Re:Programma che si chiude da solo
Inserito da: bonmario - Giugno 08, 2021, 08:04:29 am
Più che altro, la cosa strana è che non mi era mai successo che mi si chiudesse un programma.
A volte capita di scrivere del codice non puramente corretto, ma fono ad ora, mi uscivano comunque degli errori, non gestiti da me, ma comunque uscivano !!!

Per quanto riguarda gli zip, lancio direttamente l'eseguibile e rimango in attesa fino a quando il processo si chiude.

Tenderei ad escludere il problema delle autorizzazioni, visto che ieri ho fatto una prova veloce facendo fare solo gli zip, facendo saltare la copia da disco fisso a chiavetta, ed è filato tutto liscio. La chiavetta l'ho appena cambiata per togliermi il dubbio, e tanto che c'ero, sono passato da una da 32 ad una da 128 giga. In questi giorni, provo a mettere qualche try/except e writeln nel codice che fa la copia, e vediamo se ne ricavo qualcosa.

Ciao, Mario
Titolo: Re:Programma che si chiude da solo
Inserito da: tito_livio - Giugno 08, 2021, 11:22:00 am
Le cartelle da zippare sono in rete locale o sullo stesso pc?
Se le cartelle sono in rete, il problema potrebbe essere il tempo di trasferimento elevato.
A me succedeva lavorando su grossi file in rete in Delphi.
Il programma si chiudeva senza nessun messaggio d'errore.
Titolo: Re:Programma che si chiude da solo
Inserito da: bonmario - Giugno 08, 2021, 11:34:24 am
Sono sullo stesso disco.
Alcune nella stessa partizione, altre su un'altra partizione, ma sullo stesso disco fisico

Ciao, Mario
Titolo: Re:Programma che si chiude da solo
Inserito da: DragoRosso - Giugno 09, 2021, 11:08:01 am
Più che altro, la cosa strana è che non mi era mai successo che mi si chiudesse un programma.
.....

Un programma si chiude in genere quando accade un "doppio" errore. Faccio un esempio: durante l'esecuzione di un codice tracci una eccezione e nella gestione dell'eccezione stessa accade una ulteriore eccezione (a mè è capitato nel passato con errori di SO, tipo chiamo una funzione di Windows con parametri inconsistenti). Oppure nel caso di eccezioni "non gestite", come quando istruisci il SO a non generarti gli avvisi utente. Alcune librerie in C (DLL) soffrono di queste problematiche.

Poi, c'è ancora del vecchissimo codice che "butta" fuori il programma con un bellissimo (si fà per dire) exitproces.

Però come esperienza io ho Windows, con gli altri SO non ho una esperienza tale fa fornire info adeguate. In Android, quando qualcosa non và ho trovato qualche difficoltà a debuggare perchè normalmente le app si chiudono senza generare alcunchè (e anche il log attivabile nelle opzioni sviluppatore non aiuta molto).

Una cosa che potresti fare, la butto lì magari funziona, è inserire un try ... except nel file di progetto (*.lpr) nella parte deove c'è il begin ... end.

Magari li ti dice cosa c'è che non và.


Ciao
 
Titolo: Re:Programma che si chiude da solo
Inserito da: bonmario - Giugno 09, 2021, 02:42:30 pm
Ciao,
oggi sono in ferie ed avevo un po' di tempo da dedicare alla cosa, e non so se la cosa si sta complicando o risolvendo ...

Mi son reso conto che le varie fasi che avevo descritto nel primo post, lavorano sotto thread ... non mi ricordavo di avere gestito questa cosa in questo programma !!!
Mi spiego meglio, rifacendomi a quanto avevo scritto nel primo post:

il programma riceve in input un elenco di directories e, per ognuna, lancia un thread che fa questo:
Codice: [Seleziona]
- la zippa
- copia il file zippato su chiavetta
- verifica che il file su disco e quello su chiavetta siano uguali
Quando ha elaborato tutta la lista, spegne il PC

Gestisco il tutto tramite un ThreadPool, che fa in modo che al massimo ci siano in esecuzione 4 thread contemporaneamente.

Bene, dopo aver sistemato il programma aggiungendo le varie writeln e le try/except, l'ho rilanciato e, sorpresa, questa volta è arrivato fino in fondo !!!

Ciao, Mario
Titolo: Re:Programma che si chiude da solo
Inserito da: DragoRosso - Giugno 09, 2021, 03:28:50 pm
Inserendo try ... except hai comunque modificato la struttura dei thread e ciò probabilmente ha variato le tempistiche di esecuzione dei thread.

Ciò mi fà venire in mente un paio di cose:

- nei thread vengono usate risorse comuni non protette da semafori o critical section o altro;
- alcune funzionalità (chiamate a librerie ad esempio) usate non sono thread safe;

Non mi fiderei del semplice inserimento dei try..except come soluzione: un problema apparentemente risolto MA NON CAPITO non è un problema risolto.

Ciao
Titolo: Re:Programma che si chiude da solo
Inserito da: bonmario - Giugno 09, 2021, 05:03:55 pm
Sono pienamente d'accordo con te, infatti avevo scritto "non so se la cosa si sta complicando o risolvendo" !!!

Per evitare problemi, avevo già messo sotto Synchronize:
- La copia dello zip su disco esterno
- La seguente verifica della copia fatta
- Le varie comunicazioni dei thread al form principale relative alla fase in esecuzione

In questi giorni dovrei riuscire a fare altre prove, ma già il fatto che su Windows non mi abbia mai fatto nemmeno una volta questo scherzo, mi fa pensare che sia qualcosa o relativo al sistema operativo, o a qualche configurazione.

Ciao, Mario
Titolo: Re:Programma che si chiude da solo
Inserito da: DragoRosso - Giugno 09, 2021, 09:07:02 pm
.....
Per evitare problemi, avevo già messo sotto Synchronize:
- La copia dello zip su disco esterno
- La seguente verifica della copia fatta
- Le varie comunicazioni dei thread al form principale relative alla fase in esecuzione
......

Già i Synchronize tra thread e form sono cosa buona e giusta. E' qualcosa in piu di qualche try ... except. Potrebbe anche essere che effettivamente quello "crashava".

Ciao, facci sapere se trovi altro.
Titolo: Re:Programma che si chiude da solo
Inserito da: nomorelogic - Giugno 11, 2021, 09:43:49 am
Nel registro eventi di win c'è traccia della chiusura anomala della tua app?
Titolo: Re:Programma che si chiude da solo
Inserito da: bonmario - Giugno 11, 2021, 09:58:05 am
Su Windows non mi ha mai dato problemi, questo scherzo me lo sta facendo solo su Linux.
Ho provato a cercare nei log di sistema (che è più o meno l'equivalente del registro degli eventi) il nome del mio applicativo, ma non c'è traccia.
Ho provato anche a guardare nel file degli errori che crea nella "home", ma niente pure lì.

Domani lo devo rilanciare, e vediamo cosa succede.

Ciao, Mario
Titolo: Re:Programma che si chiude da solo
Inserito da: bonmario - Giugno 11, 2021, 11:32:55 am
Mi sta venendo un dubbio: la procedura che si occupa di copiare i dati da discoa chiavetta, viene richiamata tramite "Synchronize". Questa procedura, al suo interno, prima di iniziare la copia, ed a copia finita, comunica il proprio stato al thread principale, chiamando un'altra procedura, sempre tramite "Synchronize".

MAgari mettendo i nomi risulta più chiaro:
- il thread fa questa chiamata "Synchronize(@SincronizzaCopiaSuDiscoExt);"
- SincronizzaCopiaSuDiscoExt, al suo interno, fa quest'altra chiamata "Synchronize(@SincronizzaStato);" prima di diniziare la copia, e subito dopo averla finita

Può creare problemi il fatto di usare una Synchronize all'interno di una procedura già lanciata tramite Synchronize, anche se le 2 chiamate avvengono in sequenza all'interno dello stesso thread ?

Grazie, Mario
Titolo: Re:Programma che si chiude da solo
Inserito da: Stilgar - Giugno 11, 2021, 11:58:43 am
Non ho capito il problema/dubbio.


la syncro viene "chiamata" quando vuoi tu, ma il parametro è attivato/invocato quando il thread chiamante è quello attivo.


Forse questo può aiutarti a risolvere il problema.




Stilgar
Titolo: Re:Programma che si chiude da solo
Inserito da: bonmario - Giugno 11, 2021, 12:50:39 pm
Provo a rispiegarmi, se chiamo una procedura con Synchronize, e questa a sua volta ne chiama un'altra con Synchronize, potrei creare qualche problema?


Grazie, Mario
Titolo: Re:Programma che si chiude da solo
Inserito da: Stilgar - Giugno 11, 2021, 02:31:04 pm

Da come l'ho capita, secondo me potrebbe essere inutile.
Ma non avendo il codice sottomano non posso essere sicuro.


Se metti dei log (un file per thread) potresti vedere con i microsecondi cosa succede e dove.


Stilgar



Titolo: Re:Programma che si chiude da solo
Inserito da: DragoRosso - Giugno 11, 2021, 02:49:53 pm
Il metodo Synchronize fà si che l'argomento (ossia la procedura indicata) venga eseguita dal thread principale, consentendo cì di evitare qualsiasi (o quasi) problematica di accesso contemporaneo alla risorse condivise.

Il tipico esempio è l'aggiornamento di un componente grafico da un thread.

Chiamare Synchronize dal thread principale può provocare il blocco dell'applicazione ed è da evitare: nel tuo caso da ciò che hai scritto la doppia chiamata del Synchronize rientra in questo caso.

Ciao
Titolo: Re:Programma che si chiude da solo
Inserito da: DragoRosso - Giugno 11, 2021, 02:59:16 pm
Nota a margine:

l'uso del metodo Synchronize sarebbe da evitare per quanto possibile, primo perchè ferma il thread sino a quando il metodo non viene completamente eseguito dal thread principale, secondo perchè in genere l'aggiornamento dell'interfaccia utente non è necessaria dal thread.

Conviene mettere a disposizione un proprietà pubblica del thread in cui il thread stesso inserisce il dato ad esempio di avanzamento, e usare l'evento ONIDLE dell'applicazione per leggere la proprietà (o le proprietà) e aggiornare da li l'interfaccia utente.

In questo modo si isolano i thread e si ottimizzano le risosrse.

Ovviamente quanto ho detto è solo un suggerimento di carattere personale e non vuole assolutamente essere una indicazione generalizzata di "stile" di programmazione.

Ciao 

 
Titolo: Re:Programma che si chiude da solo
Inserito da: bonmario - Giugno 12, 2021, 07:36:49 pm
Credo/spero di aver trovato il problema ... la chiavetta USB
Avevo fatto apposta la formattazione "lunga" per evitare questi problemi, ma a quanto pare inutilmente !
Oggi ho notato che dopo che il programma si è chiuso da solo, sulla chiavetta non c'erano i files che avevo visto copiare mentre il programma era in esecuzione. Ho fatto un "chkdsk", che mi ha segnalato un errore irreparabile al filesystem.
Stavolta ho fatto la formattazione veloce, e domani ci riprovo, e vedo come va.
Se mi da ancora lo stesso problema, provo a rifare tutto con un HD esterno che, fino ad ora, non mi ha mai dato problemi. Se con quello funziona tutto, il colpevole sarebbe confermato !

Ciao, Mario
Titolo: Re:Programma che si chiude da solo
Inserito da: doc - Giugno 12, 2021, 09:54:54 pm
Hai provato a formattare la chiavetta usb con un file system diverso?
In genere Winzozz usa FAT (nelle due versioni)....prova ad usare NTFS e vedi che succede.
Facci sapere.

PS: lascia la dimensione del cluster in automatico.
Titolo: Re:Programma che si chiude da solo
Inserito da: bonmario - Giugno 13, 2021, 08:16:58 am
Per ora è NTFS, oggi faccio qualche verifica e, se non va, provo con EXFAT, o qualcosa del genere !!!

Ciao, Mario
Titolo: Re:Programma che si chiude da solo
Inserito da: SB - Giugno 13, 2021, 09:32:13 am
Probabilmente hai trovato la causa dell'errore (che potrebbe giustificare anche l'apparente casualità), ma non si spiega il motivo per cui il processo apparentemente termini, specie se hai inserito la gestione delle eccezioni.
Provo a darti un suggerimento un po' strano
Io uso Ubuntu Mate e purtroppo mi capita di scontrarmi con finestre "invisibili"
Il desktop environment non è affatto perfetto, e in particolari situazioni le finestre semplicemente non si vedono.
Potrebbe essere che il tuo programma è fermo segnalando un errore, ma la finestra non è visibile
Quando vedi che si "chiude", prova a controllare nell'elenco dei processi se è ancora presente oppure no
Titolo: Re:Programma che si chiude da solo
Inserito da: bonmario - Giugno 13, 2021, 03:02:20 pm
Già fatto, grazie, ma non c'è.
Sparisce anche dalla barra delle applicazioni.
La cosa che mi stupisce più di tutto, è che non trovo niente nei log di sistema. Il dubbio che ho è che scriva qualcosa, ma senza fare riferimento al mio programma, magari facendo riferimento al file system corrotto o roba del genere.
Ha appena finito di formattare la chiavetta, adesso vedo se riesco a fare qualche altro test

Ciao, Mario
Titolo: Re:Programma che si chiude da solo
Inserito da: bonmario - Giugno 13, 2021, 07:33:29 pm
Niente da fare ... non so se dipende dal file system exFAT o è la chiavetta che ha problemi hardware, ma ci ha messo 5 minuti di orologio per copiare un file di 155 mega.
Appena riesco, libero dello spazio sull'HD esterno e faccio qualche prova con quello.

Ciao, Mario
Titolo: Re:Programma che si chiude da solo
Inserito da: DragoRosso - Giugno 13, 2021, 09:27:51 pm
Non sò come fai a fare la copia sulla chiavetta, ma a me succede spessissimo che la velocità di scrittura diventa infame (tipo 1 kB al secondo) anche con chiavette perfette. In lettura non mi è mai accaduto. Formato NTFS.

Non sò se è un problema di Windows o del mio PC. Però non accade con dischi esterni (ne SSD ne HD).

Può essere che anche tu abbia lo stesso "bug" e che questo dipenda da Windows.

Ciao
Titolo: Re:Programma che si chiude da solo
Inserito da: bonmario - Giugno 14, 2021, 07:54:01 am
No, tutto questo lo faccio su Linux (Ubuntu 20.10 64 bit).
Solo la formattazione della chiavetta l'ho fatta da Windows, perché mi fido di più !
Volevo formattare la chiavetta NTFS e/o exFAT, solo perché a volte mi capita di doverla leggere da Windows.
Ieri sera l'ho riformattata con EXT4, ho fatto una prova velocissima, e sembra che i tempi in scrittura siano normali.
Una di queste sere farò qualche test più approfondito

In ogni caso, confermo quello che hai scritto tu: questa cosa non mi è mai capitata con HD esterni. ieri ne ho visto uno da un tera a poco meno di 40 euro, forse alla fine sarebbe in buon acquisto da fare !!!

Ciao, Mario
Titolo: Re:Programma che si chiude da solo
Inserito da: DragoRosso - Giugno 14, 2021, 02:51:56 pm

In ogni caso, confermo quello che hai scritto tu: questa cosa non mi è mai capitata con HD esterni. ieri ne ho visto uno da un tera a poco meno di 40 euro, forse alla fine sarebbe in buon acquisto da fare !!!

Ciao, Mario

Si, sembrerebbe. Ma c'è sempre da tenere presente una cosa: lo scopo delle chiavette e degli HDD o SDD.

Le chiavette sono compatte, capienti quel che basta e facilmente portabili. Perfette per contenuti temporanei. E anche se si "danneggiano" in genere non si creano grossi problemi.

L'uso di supporti più capienti, oltre a problematiche di ingombro e praticità, pone un altro fatto: la capienza "solletica" il fatto di non travasarne mai il contenuto, e a lungo andare tale pratica prima o poi lascerà qualche segno, uno sgancio non voluto e tutto viene perso (e non 16 GB ma 1000 GB ......  :P)

Mi ricordo quando si passò dai floppy alle chiavette (le prime chiavette avevano 32 MB, una ventina di volte un floppy): erano ancora instabili e vista la immane capacità (di quella volta  ;D) non si scaricavano mai i contenuti ..... quanti danni .......  :'(

Ciao ciao


Titolo: Re:Programma che si chiude da solo
Inserito da: SB - Giugno 14, 2021, 06:08:09 pm
Mi avete fatto venire in mente un altro problema avuto sempre con Linux.
Prova a vedere questo link:
https://askubuntu.com/questions/397249/system-freezes-unresponsive-unusable-when-copying-large-file-to-usb (https://askubuntu.com/questions/397249/system-freezes-unresponsive-unusable-when-copying-large-file-to-usb)
A me ha risolto un problema di apparente freeze nella copia di file su chiavetta

Ipotizzo che il problema della bassa velocità di trasferimento sia dovuto alla circuiteria interna troppo lenta (chiavetta economica?).
Sembra veloce finchè riempie il buffer interno e poi si viaggia alla velocità interna.

Gli hdd mi sembrano decisamente migliori in questo, sia nella velocità che nell'affidabilità.

Titolo: Re:Programma che si chiude da solo
Inserito da: bonmario - Giugno 14, 2021, 06:17:10 pm
Effettivamente, era un'offerta su Amazon. Non ricordo il prezzo preciso, ma una chiavetta da 128 giga l'ho pagata meno di 20 euro.
Le recensioni erano tutte positive, e parecchi scrivevano che era veloce, ma probabilmente quelli che hanno scritto non erano competenti al 100% !!!

Ciao, Mario
Titolo: Re:Programma che si chiude da solo
Inserito da: DragoRosso - Giugno 14, 2021, 07:11:54 pm
Mi avete fatto venire in mente un altro problema avuto sempre con Linux.
Prova a vedere questo link:
https://askubuntu.com/questions/397249/system-freezes-unresponsive-unusable-when-copying-large-file-to-usb (https://askubuntu.com/questions/397249/system-freezes-unresponsive-unusable-when-copying-large-file-to-usb)
A me ha risolto un problema di apparente freeze nella copia di file su chiavetta

Ipotizzo che il problema della bassa velocità di trasferimento sia dovuto alla circuiteria interna troppo lenta (chiavetta economica?).
Sembra veloce finchè riempie il buffer interno e poi si viaggia alla velocità interna.

Gli hdd mi sembrano decisamente migliori in questo, sia nella velocità che nell'affidabilità.

Grazie per il link, interessante.

Ci sono diversi fattori che incidono sulla copia dei file, tra cui i settaggi indicati su Linux nell'articolo indicato (che sembra però influenzare particolarmente Ubuntu**), l'hardware (fattore assolutamente primario) ma anche i processi che accedono alla chiavetta: un antivurus, l'indicizzatore, etc ..... Se sono attivi con l'accesso alla chiavetta ritengo che la copia rallenti esponenzialmente (almeno così accade in Windows) tanti più processi accedono contemporaneamente.

La scrittura su disco o dispositivo di massa generico per adesso è ancora "serializzato" e quindi terminato il buffer hardware del dispositivo tutto "il mondo" attende la scrittura fisica dei dati prima di procedere.

Bye

PS: ** d'altronde il forum è AskUbuntu ...  ;D ;D
Titolo: Re:Programma che si chiude da solo
Inserito da: bonmario - Giugno 17, 2021, 08:05:03 am
Alla fine era probabilmente la chiavetta.
Ieri ho fatto 2 tentativi su HD esterno, e sono andati bene. Continuo a tenere sott'occhio la cosa.

Vorrei però segnalare una cosa: "writeln" funziona sempre su Linux. Su windows, funziona solo se nelle opzioni del progetto, si toglie il check da "Applicazione GUI Win32". Se si lascia quel check, la writeln segnala un errore.

Ciao, Mario
Titolo: Re:Programma che si chiude da solo
Inserito da: doc - Giugno 17, 2021, 05:46:24 pm
Il comando WRITE, nelle applicazioni GUI di MS Windows non ha un output standard per impostazione predefinita, pertanto i descrittori di file standard sono disponibili solo quando si ha attiva la {$APPPTYPE CONSOLE}.
Per maggiori dettagli leggi: https://www.freepascal.org/docs-html/rtl/system/write.html (https://www.freepascal.org/docs-html/rtl/system/write.html).
Potresti anche, a seconda dello stato dell'opzione {$I} , in caso di errore può essere generato un errore di runtime. Nello stato {$I-} , usa IOResult per verificare la presenza di errori.
Ciao.
Titolo: Re:Programma che si chiude da solo
Inserito da: bonmario - Giugno 17, 2021, 06:01:29 pm
Grazie, ma visto che mi serviva per Linux, ho fatto in modo di eseguire le "writeln" solo su Linux.

Ciao, Mario
Titolo: Re:Programma che si chiude da solo
Inserito da: DragoRosso - Giugno 17, 2021, 10:36:36 pm
E' più semplice usare il profilo di debug senza la spunta a "Applicazione GUI Win32", mentre quello di Release avrà la spunta.

Automaticamente il programma viene lanciato tramite una shell che è lo standard output.

Il writeln così come tutte le altre info per debug andranno messe sotto $IFDEF DEBUG.

Così il codice rimane pulito e sempre pronto per il debug quando necessario.

EDIT: E rimane compatibile con le varie piattaforme.

Ciao.