Visualizza versione completa : [VB.Net] StreamWriter
wicasa
06-10-2004, 16.07.31
stò eseguendo un applicazione in .Net e alla fine di una riga di calcoli
registrati in diversi oggetti devo scrivere un file di testo nel quale vengano stampati dei valori...
...bene girava tutto fino a questa mattina...poi ho aggiunti altre chiamate a delle classi...e ora quando avvio il debug arrivo fino all'inizializzazione dello StreamWriter:
dim swMioStream as new StreamWriter(path, Append)
e qui si pianta!...o peggio ancora, nn misegnala nessun errore particolare ma semplicemente mi esce dal debug!
:wall:
PS: Il file viene creato correttamente...ma è vuoto!!!! :confused:
P8257 WebMaster
06-10-2004, 19.16.02
Secondo me Bisognerebbe capire cosa tenti di appendere, cosa fai prima ecc.
Bye :cool:
wicasa
07-10-2004, 08.56.27
Ciao,
allora sono riuscito a circoscrivere la zona provando a far variare la riga della chiamata alla classe delegata alla scrittura su file di testo del mio applicativo, il problema nasce dopo la seconda chiamata ad un'altra classe nella quale vengono eseguiti dei calcoli, ma essendo la seconda di chiamata praticamente identica alla prima...il problema secondo me è "solo" di Garbage Collection...:confused:... ma a questo punto come posso risolverlo???
Secondo quanto ho capito, gli oggetti creati con codice nn gestito vengono liberati in maniera un pò strana dallo stesso GC...e vorrei tanto capire come controllare questa cosa:( :(
Grazie mille ancora
Ciao
P8257 WebMaster
07-10-2004, 09.04.55
.. Se ci sono delle chiamate ricorsive o se comunque il problema si verifica alla chiamata 'n' di una determinata routine, potresti eseguire il debug e controllare che non vi siano overflow nelle variabili che utilizzi, oppure magari stai sovraccaricando lo streamwriter dandogli in pasto un quantitativo di dati che fa fatica a gestire.
Per quanto riguarda il garbage collector, hai provato a forzarlo dopo ogni chiamata?..
Bye :cool:
wicasa
07-10-2004, 09.39.27
Intendi con il GC.Collect()?
...non l'ho ancora fatto, anche perchè da quanto ho capito nel codice nn gestito il GC.Collect libera tutte le risorse occupate...ma io ho degli oggetti che devono rimanere pieni fino alla fine?!
...ora controllo l'overflow delle variabili...
...a dopo :D
wicasa
07-10-2004, 09.45.36
Ho sondato il GC.Collect()
Libera gli oggetti senza riferimenti...o le risorse nn più necessarie!!!...
...come lo capisce che nn sono necessarie???...ora testo!!!!
P8257 WebMaster
07-10-2004, 09.53.20
wicasa ha scritto:
...come lo capisce che nn sono necessarie???...ora testo!!!!
Probabilmente fa un'instance checking o un reference checking...
Bye :cool:
wicasa
07-10-2004, 10.54.40
fatto...ho messi dei GC.Collect() nelle classi di clacolo e di chiamata a delle API
...ora sembra funzionare...sperin...:D :D
Grazie 1k ancora
PS: Alla fine mison fatto prendere la mano e al termine di ogni sub grossa ne ho messo uno...ma in alcune ho dovuto toglierlo, altrimenti mi usciva dal progr. senza dire niente!!!...ed esattamente nelle ultime sub chiamate...forse nn aveva niente da svuotare e dunque chiudeva tutto???:confused:
vBulletin® v3.8.6, Copyright ©2000-2025, Jelsoft Enterprises Ltd.