In una delle mie applicazioni VB.Net viene visualizzato un errore durante l'esecuzione dell'applicazione. Questo errore non viene sempre. Quindi non sono in grado di riprodurre anche l'errore. Nessuna sequenza esatta anche per riprodurre l'errore.OutOfMemoryException per un'applicazione vb.net
Stack: System.OutOfMemoryException: Memoria insufficiente. a System.Drawing.Graphics.FromHdcInternal (IntPtr HDC) a System.Windows.Forms.ToolStrip.OnPaint (PaintEventArgs e) a System.Windows.Forms.Control.PaintWithErrorHandling (PaintEventArgs e, strato di Int16, booleane disposeEventArgs) a System.Windows.Forms.Control.WmPaint (Messaggio & m) a System.Windows.Forms.Control.WndProc (Messaggio & m) a System.Windows.Forms.ScrollableControl.WndProc (Messaggio & m) presso System .Windows.Forms.ToolStrip.WndProc (Messaggio & m) a System.Windows.Forms.StatusStrip.WndProc (Messaggio & m) a System.Windows.Forms.Control.ControlNativeWind ow.OnMessage (Message & m) a System.Windows.Forms.Control.ControlNativeWindow.WndProc (Messaggio & m) a System.Windows.Forms.NativeWindow.Callback (IntPtr hWnd, Int32 msg, IntPtr wparam, IntPtr lparam)
descrizione di errore:
MyApplication_UnhandledException
Dopo questo errore che ottengo un messaggio che dice,
0.123.Memoria insufficiente per creare bitmap. Chiudi una o più applicazioni per aumentare la disponibilità.
Quando ho controllato l'utilizzo della memoria dell'applicazione non era così alto. Questo errore non appare ripetutamente. Quindi, come posso risolvere questo errore. Come può essere risolto? Ho controllato l'esecuzione dell'applicazione utilizzando. NET memory profiler e memoria Redgate Profiler.
Di seguito è riportato uno screenshot delle quantità di utilizzo della memoria non gestito. Non so bene se questi valori sono alti.
UPDATE:
ho ottenuto l'errore again.checked gli oggetti GDI ed era 9998.So l'errore è stato a causa della forte gdi objects.Now domanda è come solve.Then ho usato GDIView e controllato. Con quello strumento ho pen-2954 brush-5918 font-90 bitmap-13 ecc. GDI totale-9998 Allora, che cosa sono la penna e il pennello? Nel mio codice non ho usato pennelli o penne (ho cercato il codice per 'penna' e 'pennello' ma non ne ho trovate.) Quindi per favore aiutami su questo
cosa si assegna a Tooltip? – Tigran
Puoi mostrare il tuo codice, per favore? Preferibilmente una parte che funziona con le bitmap? – Ryan
L'unica cosa ovvia è che si utilizzano i controlli ActiveX in modo piuttosto pesante. Il che può impedire al garbage collector di funzionare abbastanza spesso da tenerti lontano dai guai. Il tipo di problema che si verifica quando non si utilizza Dispose() sugli oggetti System.Drawing. Bombarda in questo modo quando hai usato troppe maniglie. –