Solved Qt Creator: in debug non si blocca mentre in esecuzione normale si blocca dopo un certo tempo
-
Buongiorno.
Succede che se eseguo il programma in modalità debug, senza nessun breakpoint, il programma gira e non si blocca, se invece lo eseguo in esecuzione normale, dopo qualche minuto di esecuzione si blocca e dice: "The program has unexpectedly finished.".
Cosa posso fare per capire qual è il punto di interruzione ? -
Senza stack trace e' impossibile fare supposizioni.
I candidati principali:
- Usi un puntatore non inzializzato
- Usi un puntatore nullo
- Accedi a un area di memoria non allocata (capita se usi gli array C-style. std::array/std::vector aiutano qui)
-
Se i puntatori fossero nulli o inizializzati a zero l'errore mi si dovrebbe presentare anche in debug. Per la terza opzione non saprei, ho degli array definiti come ho letto nelle prime pagine del corso c++ web. Io penso possa trattarsi della velocità di esecuzione di alcune funzioni, che se rese più lente inizializzano i vari campi, mentre a 1000 all'ora non fa in tempo. Ho inserito dei mutex e sembra vada bene.
-
@bvox123 said in Qt Creator: in debug non si blocca mentre in esecuzione normale si blocca dopo un certo tempo:
Io penso possa trattarsi della velocità di esecuzione di alcune funzioni, che se rese più lente inizializzano i vari campi, mentre a 1000 all'ora non fa in tempo. Ho inserito dei mutex e sembra vada bene.
Ok questo sembra la definizione di "race condition" https://it.wikipedia.org/wiki/Race_condition
-
Il programma è multithread o usa timer?