[C] Programma che funziona solo con il debug
- Malo
- Messaggi: 156
- Iscritto il: sabato 3 dicembre 2011, 14:33
[C] Programma che funziona solo con il debug
Ciao, sto facendo un programma in C usando Code::blocks. Il programma è composto da 3 file: main.c, lib.c, lib.h. Ho fatto che creare un progetto con code::blocks perchè è l'unico modo per poter effettuare il debug(altrimenti non lo fa). Non capisco proprio perché il programma se compilato e poi eseguito si pianta, mentre invece se eseguo il debug (sempre dopo averlo ricompilato ovviamente) tutto fila lisco e termina come dovrebbe. Cioè in pratica io schiaccio compile/exec e si pianta. Invece se imposto un breackpoint a caso e poi clicco su debug, una volta che lo eseguo tutto arriva alla fine tranquillo. Come mai? Ho ricontrollato tutto mille volte e non trovo errori quindi se con il debug funziona non vedo perché non dovrebbe senza! Come posso fare?
Ecco la mia CONFIGURAZIONE PC:
Alimentatore RASURBO Silent&Power DLP-55.1 - 550 W, CPU AMD Phenom II X4 960T, Mobo ASUSTeK M5A99X EVO, RAM 2x2GB DD3-1333 Corsair, Video ATI HD 6770, HDD Seagate barracuda SATA3 2TB, Case PowerStation Recom, Mouse logitech MX1000, Windows 7 Ultimate, Monitor Samsung LT27A300 27" LED LCD, Audio Dolby digital 5.1 logitech
Alimentatore RASURBO Silent&Power DLP-55.1 - 550 W, CPU AMD Phenom II X4 960T, Mobo ASUSTeK M5A99X EVO, RAM 2x2GB DD3-1333 Corsair, Video ATI HD 6770, HDD Seagate barracuda SATA3 2TB, Case PowerStation Recom, Mouse logitech MX1000, Windows 7 Ultimate, Monitor Samsung LT27A300 27" LED LCD, Audio Dolby digital 5.1 logitech
- dino
- Messaggi: 16580
- Iscritto il: mercoledì 30 novembre 2011, 18:21
Re: [C] Programma che funziona solo con il debug
Potrebbe essere una questione di librerie che in debug le carica mentre in esecuzione no?
_____________________________
Working harder: http://www.dinofratelli.it
Listen House Music: https://www.dinobrosdj.it
Safety online https://omniadpi.it/
Working harder: http://www.dinofratelli.it
Listen House Music: https://www.dinobrosdj.it
Safety online https://omniadpi.it/
- Malo
- Messaggi: 156
- Iscritto il: sabato 3 dicembre 2011, 14:33
Re: [C] Programma che funziona solo con il debug
potrebbe essere...come verifico però?
Ecco la mia CONFIGURAZIONE PC:
Alimentatore RASURBO Silent&Power DLP-55.1 - 550 W, CPU AMD Phenom II X4 960T, Mobo ASUSTeK M5A99X EVO, RAM 2x2GB DD3-1333 Corsair, Video ATI HD 6770, HDD Seagate barracuda SATA3 2TB, Case PowerStation Recom, Mouse logitech MX1000, Windows 7 Ultimate, Monitor Samsung LT27A300 27" LED LCD, Audio Dolby digital 5.1 logitech
Alimentatore RASURBO Silent&Power DLP-55.1 - 550 W, CPU AMD Phenom II X4 960T, Mobo ASUSTeK M5A99X EVO, RAM 2x2GB DD3-1333 Corsair, Video ATI HD 6770, HDD Seagate barracuda SATA3 2TB, Case PowerStation Recom, Mouse logitech MX1000, Windows 7 Ultimate, Monitor Samsung LT27A300 27" LED LCD, Audio Dolby digital 5.1 logitech
- dino
- Messaggi: 16580
- Iscritto il: mercoledì 30 novembre 2011, 18:21
Re: [C] Programma che funziona solo con il debug
Questo non lo so... Non sviluppo ijn C da una vita
_____________________________
Working harder: http://www.dinofratelli.it
Listen House Music: https://www.dinobrosdj.it
Safety online https://omniadpi.it/
Working harder: http://www.dinofratelli.it
Listen House Music: https://www.dinobrosdj.it
Safety online https://omniadpi.it/
- Alessio89
- Messaggi: 8098
- Iscritto il: martedì 29 novembre 2011, 23:47
Re: [C] Programma che funziona solo con il debug
Utilizzi estensioni, librerie o direttive proprietarie o macro proprietarie? Perché con lo standard ISO non esiste differenza fra debug e release. Se rimani sempre nello standard ISO allora controlla i range degli array e le operazioni sui puntatori.
- Malo
- Messaggi: 156
- Iscritto il: sabato 3 dicembre 2011, 14:33
Re: [C] Programma che funziona solo con il debug
mah, diciamo che un errore ci deve essere per forza perchè se aumento la dimensione dell'imput mi fa in segmentation fault. Solo che non mi capacito proprio perchè con un input più basso in debug è ok, in release no. Le uniche librerie che uso sono stdio.h, stdlib.h e bon...
Ecco la mia CONFIGURAZIONE PC:
Alimentatore RASURBO Silent&Power DLP-55.1 - 550 W, CPU AMD Phenom II X4 960T, Mobo ASUSTeK M5A99X EVO, RAM 2x2GB DD3-1333 Corsair, Video ATI HD 6770, HDD Seagate barracuda SATA3 2TB, Case PowerStation Recom, Mouse logitech MX1000, Windows 7 Ultimate, Monitor Samsung LT27A300 27" LED LCD, Audio Dolby digital 5.1 logitech
Alimentatore RASURBO Silent&Power DLP-55.1 - 550 W, CPU AMD Phenom II X4 960T, Mobo ASUSTeK M5A99X EVO, RAM 2x2GB DD3-1333 Corsair, Video ATI HD 6770, HDD Seagate barracuda SATA3 2TB, Case PowerStation Recom, Mouse logitech MX1000, Windows 7 Ultimate, Monitor Samsung LT27A300 27" LED LCD, Audio Dolby digital 5.1 logitech
- Alessio89
- Messaggi: 8098
- Iscritto il: martedì 29 novembre 2011, 23:47
Re: [C] Programma che funziona solo con il debug
in modalità debug potrebbero aver implementato un'allocazione della memoria e degli array in maniera differente. Ad esempio in modalità debug il compilatore potrebbe lasciare dello spazio fra un array e gli elementi successivi in modo che se vai fuori range il debugger è in grado di segnartelo invece che crashare rovinosamente.
- Malo
- Messaggi: 156
- Iscritto il: sabato 3 dicembre 2011, 14:33
Re: [C] Programma che funziona solo con il debug
può essere quello allora...conta che sto lavorando su diverse matrici ed array tutti allocati in modo dinamico a seconda della dim dell'input...(non è complicato ma sto schiumando)
praticamente c'è un main loop ripetuto tot volte dove fa le sue cose, una di queste è caricare un array in una riga di una matrice. Non so perchè ma alla volta x che esegue questa operazione mi fa segmentation, le altre prima invece gli piace...
praticamente c'è un main loop ripetuto tot volte dove fa le sue cose, una di queste è caricare un array in una riga di una matrice. Non so perchè ma alla volta x che esegue questa operazione mi fa segmentation, le altre prima invece gli piace...
Ecco la mia CONFIGURAZIONE PC:
Alimentatore RASURBO Silent&Power DLP-55.1 - 550 W, CPU AMD Phenom II X4 960T, Mobo ASUSTeK M5A99X EVO, RAM 2x2GB DD3-1333 Corsair, Video ATI HD 6770, HDD Seagate barracuda SATA3 2TB, Case PowerStation Recom, Mouse logitech MX1000, Windows 7 Ultimate, Monitor Samsung LT27A300 27" LED LCD, Audio Dolby digital 5.1 logitech
Alimentatore RASURBO Silent&Power DLP-55.1 - 550 W, CPU AMD Phenom II X4 960T, Mobo ASUSTeK M5A99X EVO, RAM 2x2GB DD3-1333 Corsair, Video ATI HD 6770, HDD Seagate barracuda SATA3 2TB, Case PowerStation Recom, Mouse logitech MX1000, Windows 7 Ultimate, Monitor Samsung LT27A300 27" LED LCD, Audio Dolby digital 5.1 logitech
- Alessio89
- Messaggi: 8098
- Iscritto il: martedì 29 novembre 2011, 23:47
Re: [C] Programma che funziona solo con il debug
se vuoi prova a postare il codice. il C l'ho cacato di stricio ma tanto ha praticamente (99%) le stesse regole della parte procedurale del C++.
- Malo
- Messaggi: 156
- Iscritto il: sabato 3 dicembre 2011, 14:33
Re: [C] Programma che funziona solo con il debug
per me va bene! Faccio che postarti i 3 file così facciamo prima...ti ringrazio per la disponibilità
Non hai i permessi necessari per visualizzare i file allegati in questo messaggio.
Ecco la mia CONFIGURAZIONE PC:
Alimentatore RASURBO Silent&Power DLP-55.1 - 550 W, CPU AMD Phenom II X4 960T, Mobo ASUSTeK M5A99X EVO, RAM 2x2GB DD3-1333 Corsair, Video ATI HD 6770, HDD Seagate barracuda SATA3 2TB, Case PowerStation Recom, Mouse logitech MX1000, Windows 7 Ultimate, Monitor Samsung LT27A300 27" LED LCD, Audio Dolby digital 5.1 logitech
Alimentatore RASURBO Silent&Power DLP-55.1 - 550 W, CPU AMD Phenom II X4 960T, Mobo ASUSTeK M5A99X EVO, RAM 2x2GB DD3-1333 Corsair, Video ATI HD 6770, HDD Seagate barracuda SATA3 2TB, Case PowerStation Recom, Mouse logitech MX1000, Windows 7 Ultimate, Monitor Samsung LT27A300 27" LED LCD, Audio Dolby digital 5.1 logitech