Eccezione System.AccessViolationException

venerdì 23 marzo 2007 - 14.38

giamisan Profilo | Newbie

Ciao a tutti, ho una cosa strana che mi capita e chiedo a voi se avete idea di cosa possa essere.

Ho due Pc, sun entrambi vi è installato Visual Studio, l'unica differenza è che uno è un pc piuttosto vecchio un AthlonXP e l'altro è l'ultimo Quad Core Intel.

La cosa che mi succede è la seguente:
Inizialmente sviluppavo la mia applicazione sul pc con AthlonXP e anche ora quando faccio delle prove in debug per vedere se tutto funziona come vorrei non ho errori e tutto fila liscio.

Settimana scorsa mi è arrivato il nuovo pc, il QuadCore, sul quale ho installato Visual Studio e sul quale ho copiato interamente dall'altro pc la cartella contenente tutto i file necessari allo svolgimento e alla progettazione della mia applicazione.
E qui viene il bello.

Facendo le stesse e giuro che sono le stesse operazioni in debug su uno e sull'altro pc, sul pc nuovo mi da degli errori che sul pc vecchio non mi da.

Per la precisione mi dice:

"Eccezione non gestita dall'applicazione. Tentativo di lettura o scrittura della memoria protetta. Spesso questa condizione indica che altre parti della memoria sono danneggiate"

La mia domanda è la seguente:
Perchè su un pc lo stesso codice funziona alla perfezione mentre su un altro pc, per di più di qualità migliore non va?


Grazie a tutti
Giacomo

giamisan Profilo | Newbie

Lo ripropongo, magari a qualcuno è sfuggito o magari nessuno sapeva cosa rispondermi!!!

Tentar non nuoce.....



munissor Profilo | Senior Member

Potrebbe essere un problema di concorrenza. Il SO schedula threads, quindi sul tuo AthlonXP può viaggiare solo un thread alla volta.
Sul quad core sono 4 i thread contemporanei quindi potresti avere dei problemi se non sincronizzi l'accesso alle variabili.
Questo potrebbe essere la causa delle differenze tra i due PC...

giamisan Profilo | Newbie

Effettivamente penso proprio che tu abbia ragione.
Ho appena fatto una prova.

Ho installato la versione Express di Visual Basic su un Athlon DualCore e ho notato che in fare di debug mi viene generato lo stesso identico errore che mi viene generato sul QuadCore.....


Adesso viene il bello.....capire come risolverlo!!!eheheheh

Hai delle dritte per caso??!!


Grazie mille
Giacomo

munissor Profilo | Senior Member

Beh..cerca di capire quale codice puù essere eseguito da più thread nella tua applicazione e sicronizza l'accesso alle variabili utilizzando preferibilmente Monitor o ReaderWriterLock. Se devi sincronizzare oggetti tra AppDomain doversi (o processi diversi) usa Mutex o Semaphore.
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