PDA

Visualizza la versione completa : [C++] Appcrash


iamwill
01-06-2013, 21:30
Ciao a tutti, vi posto un problema assurdo per quanto mi riguarda e di cui non riesco a capirne il motivo pur cercando ovunque tramite google...

Da un paio d giorni dopo aver modificato un codice su cui sto lavorando mi esce un errore dopo aver lanciato l'esecuzione; il primo passo è stato capire dove mi crashava e dopo vari tentativi ho capiti che si ferma sempr ein posti diversi.
Come secondo passo ho eseguito il programma su altri pc di amici e il tutto funzionava.

Siccome devo presentare questo lavoro entro la prossima settimana come posso fare?


Vi posto l'errore che mi da dopo averlo compilato senza errori e aver lanciato l'esecuzione:


Problem signature:
Problem Event Name: APPCRASH
Application Name: ImageSegmentation.exe
Application Version: 0.0.0.0
Application Timestamp: 51aa3cc4
Fault Module Name: ImageSegmentation.exe
Fault Module Version: 0.0.0.0
Fault Module Timestamp: 51aa3cc4
Exception Code: c0000005
Exception Offset: 00005004
OS Version: 6.1.7601.2.1.0.768.3
Locale ID: 1040
Additional Information 1: 0a9e
Additional Information 2: 0a9e372d3b4ad19135b953a78882e789
Additional Information 3: 0a9e
Additional Information 4: 0a9e372d3b4ad19135b953a78882e789



Cosa posso fare?

Grazie mille a chi mi risponderà...





PS: edit non so se serve ma ho Win7 e uso codeblocks 10.05
Il lavoro fa uso delle opencv e come compilatore ho mingw

Stesso errore me lo da anche con eclipse cosa invece che non succede sugli altri pc

oregon
01-06-2013, 21:49
L'errore

c0000005

indica sempre un accesso a memoria non consentito che, a sua volta, indica problemi con l'uso di puntatori/vettori ...

Senza codice, ovviamente, non si può dire molto di più ...

iamwill
01-06-2013, 21:50
capito...

il codice purtroppo è fatto da 5 .cpp e 4 .h

come faccio a capire l'errore?

Come mai da me non funziona e in altri pc si? dipende da qualcosa del pc o no?

oregon
01-06-2013, 21:53
Originariamente inviato da iamwill
capito...

il codice purtroppo è fatto da 5 .cpp e 4 .h

come faccio a capire l'errore?


Per questo esiste il debugging


Come mai da me non funziona e in altri pc si? dipende da qualcosa del pc o no?

I problemi di questo tipo dipendono fortemente dalla situazione del computer su cui si sta eseguendo il programma (anche nello stesso PC, in diversi momenti, quell'errore potrebbe saltare fuori o anche non farsi vedere ... se hai un errore è comunque meglio ...)

iamwill
01-06-2013, 22:00
In realtà ho provato a fare il debugging ma mi si apre una cosa di borland con un sacco di operazioni in assembler :(

MItaly
01-06-2013, 22:03
Probabilmente l'eccezione avviene nel codice di libreria, risali nel call stack finché non raggiungi il primo stack frame appartenente al tuo codice, lì vedrai che chiamata di libreria genera il problema (e probabilmente il tutto deriva da un parametro sbagliato che passi lì).

oregon
01-06-2013, 22:17
Originariamente inviato da iamwill
In realtà ho provato a fare il debugging ma mi si apre una cosa di borland con un sacco di operazioni in assembler :(

Beh ... il debugging lo fai sul codice sorgente non sull'assembly ...

iamwill
01-06-2013, 22:54
Mi esce questa cosa avendo ora fatto il debugging

Child process PID: 1480
Program received signal SIGSEGV, Segmentation fault.
At C:\Users\Seven\Desktop\ImageSegmentation\prl\Defin itions.cpp:309

significa che nella riga 309 di quel file c'è un errore di segmentazione?

sapete come si risolve visto che leggendo qua e la a prima vista sembra una cosa non proprio semplice?

oregon
01-06-2013, 22:57
Senza neanche vedere il codice di quella linea di quel sorgente? Bisognerebbe essere un mago ...

iamwill
01-06-2013, 22:58
Unici!!!!!

Grazie mille per l'aiuto!!!!

Nel call stack effettivamente mi dava la parte errata ed è bastato una modifica nel ciclo che mi richiamava per far andare tutto bene!!!

Loading