Problemi debug

mercoledì 14 luglio 2010 - 09.22

caniggiaroby Profilo | Newbie

Ciao a tutti,

spero possiate aiutarmi....

Ho un software fatto in dot net, sviluppato in visual studio 2005, che una volta eseguito rimane in attesa e ogni 30 secondi esegue una funzione per vedere se in una tabella satellite di sql server, vi sono dei dati da lavorare.

Se ci sono esegue tutta una serie di importazioni su un noto gestionale utilizzando le librerie SDK fornite dal produttore stesso.

Fin qui tutto perfetto, funziona a meraviglia, tranne per il fatto che inizialmente consuma 80 mega di memoria e pian pianino sale , ora per esempio è acceso da 2 giorni ed è arrivato a 243 mega, la memoria sale in base a quanto lavoro fa e ogni tanto va in crash, quindi vorrei evitarlo.

come posso fare per svuotare la memoria?

facendo un debug nel processo, ho visto che ci sono una serie di eccezzioni, ma che non mi dicono nulla, ho try ovunque e non rilevo niente, come faccio?

c'è un modo per fare debug e vedere quale riga di codice fa casino?

grazie

boc_babi Profilo | Junior Member

Ciao,

per evitare di far crescere la memoria potresti gestire il Garbage Collector.
Nelle mie applicazioni utilizzo un timer che ogni X secondi esegue il seguente codice:

GC.Collect() 'libero memoria occupata GC.WaitForPendingFinalizers() 'ma non utilizzata GC.GetTotalMemory(True) 'dal programma

In questo modo vedrai che la memoria occupata scenderà drasticamente.

Per qunto riguarda il debug ti consiglio di togliere temporaneamente i TRY in modo che al momento del crash vieni indirizzato alla riga di programma che "fa casino".

Spero di essere stato utile, ciao BOC.
Partecipa anche tu! Registrati!
Hai bisogno di aiuto ?
Perchè non ti registri subito?

Dopo esserti registrato potrai chiedere
aiuto sul nostro Forum oppure aiutare gli altri

Consulta le Stanze disponibili.

Registrati ora !
Copyright © dotNetHell.it 2002-2024
Running on Windows Server 2008 R2 Standard, SQL Server 2012 & ASP.NET 3.5