Home Page
Articoli
Tips & Tricks
News
Forum
Archivio Forum
Blogs
Sondaggi
Rss
Video
Utenti
Chi Siamo
Contattaci
Username:
Password:
Login
Registrati ora!
Recupera Password
Home Page
Stanze Forum
App. Visual Studio 6.0
CRASH DI APPLICAZIONE PER PALMARE CHE UTILIZZA SOCKET TCP
martedì 14 febbraio 2006 - 09.51
Elenco Threads
Stanze Forum
Aggiungi ai Preferiti
Cerca nel forum
BELENOS
Profilo
| Junior Member
116
messaggi | Data Invio:
mar 14 feb 2006 - 09:51
Allora...vi aggiorno sulla situazione...se qualche buon'anima volesse darmi un aiuto....grazie in anticipo...
Linguaggio dell'applicativo su palmare: Microsoft Embedded Visual C++ 4.0
Sistema Operativo del palmare: Win CE
Linguaggio dell'applicativo su PC fisso: Microsoft Visual C++ 6.0
Sistema Operativo del PC fisso: Windows XP SP2
Buongiorno...vi espongo un problema...non so se così esposto in maniera generale sia sufficiente per voi per darmi qualche dritta...cmq ci provo...
Io ho un applicativo che gira su un palmare e si connette ad un pc fisso attraverso un driver che utilizza messaggi inviati e ricevuti via wireless per spedire o ricevere informazioni...ad un certo punto il driver sul pc fisso crasha dando un bellissimo messaggio di "La memoria non poteva essere read " al tal indirizzo...ho provato a guardare sui dettagli e ho visto che l'errore viene dato soprattutto nella libreria mfc42.dll, e a volte (anche se di rado) in una libreria realizzata dai tipi che in origine avevano realizzato questo applicativo (e che poi io e altri abbiamo modificato per "tappare" alcuni buchi)...qualcuno di voi sa di cosa si occupa questa libreria e perchè un applicativo di questo genere mi potrebbe dare questo errore????
Successivamente mi sono creato un file di log che mi indica quali funzioni della libreria dei socket vengono richiamate durante la durata dell'applicativo su pc fisso, per permettermi di vedere se sono solo certe funzioni della libreria che danno problemi (come io penso)...ad ogni chiamata a funzione mi apro il file di log(coi dovuti test del caso), mi scrivo sopra che funzione viene richiamata e poi lo chiudo...mi sono accorto che dà errore anche nella MSVCRTD.DLL...Non mi riesce comunque di vedere dove crasha perchè se io abilito la scrittura su un file di log delle funzioni del protocollo di comunicazione richiamate, allora sembra non crashare +...se invece faccio andare la versione senza la scrittura su questo file, allora dopo un pò crasha...e non riesco a vedere dove...proverò con una _ASSERTE al limite...per vedere se in certi intervalli di tempo ci sono dei puntatori che puntano a NULL....non so + che inventarmi!!!
Forse è dovuto questo fatto al fatto che se abilito la scrittura sul file, rallento qualche cosa durante l'esecuzione dell'applicativo e lo stesso in questo caso non incontra errore nell'allocare qualche zona di memoria che altrimenti in certi intervalli di tempo sarebbe deallocata e quindi inutilizzabile??
O è dell'altro???Francamente non so + che pensare...
Brainkiller
Profilo
| Guru
7.999
messaggi | Data Invio:
mar 14 feb 2006 - 17:05
>Allora...vi aggiorno sulla situazione...se qualche buon'anima
>volesse darmi un aiuto....grazie in anticipo...
Ciao,
le librerie che iniziano con MS sono di Microsoft tipo ls MSVCRT*.DLL e le MFC* pure sono utilizzate dai prodotti costruiti usando le Microsoft Foundation Classes del VC++.
Qui il problema è sicuramente complesso. Il problema della Read Memory Exception è abbastanza comune e può essere causato dalla lettura di un'area di memoria non consentita, più facilmente un puntatore che punta ad un'area non inizializzata o cose simili. Mi sembra più un baco della applicazione che altro.
Una cosa che puoi provare e è fornire le librerie MFC* e MSVCRT.DLL che sono deploiate con l'installazione di quel software. E' possibile che voi abbiate in dotazione una versione di queste DLL più aggiornate e il software vada in crash per questo.
Prima funzionava ?
ciao
David De Giacomi
Microsoft MVP
http://blogs.dotnethell.it/david/
BELENOS
Profilo
| Junior Member
116
messaggi | Data Invio:
mar 14 feb 2006 - 19:39
prima l'applicativo era disegnato per un altro dispositivo e aveva bachi mostruosi...per questo ora dovendolo disegnare per un nuovo dispositivo ci abbiamo messo le mani....cmq grazie della risposta BrainKiller...farò come dici e vi terrò informati...
NOI SIAMO I BORG!!!
LA RESISTENZA E' INUTILE!!!
Torna su
Stanze Forum
Elenco Threads
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 !