Visualizzazione dei risultati da 1 a 3 su 3
  1. #1
    Utente bannato
    Registrato dal
    Oct 2010
    Messaggi
    1,219

    [C]Esecuzione di programmi pesanti

    Ho un problema perchè sto facendo il debug di un programma "pesante".Nei programmi piccoli se va in segmentation fault o in un loop infinito non ci sono problemi.
    Ma con questo programma, ogni volta che va in segmentation fault il pc mi si blocca (nel senso che ovunque clicco il click non ha effetto e non posso fare niente)...
    Uso ubuntu 10.10 , compilo con gcc da code::blocks ma sarei disposto anche a cambiarlo,o a compilare da terminale, e vorrei sapere se c'è qualche modo per evitare che il pc si blocchi.Come ad esempio stabilire che se il programma è in esecuzione da più di tot secondi esce automaticamente, sapete come fare?

  2. #2
    Utente di HTML.it L'avatar di oregon
    Registrato dal
    Jul 2005
    residenza
    Roma
    Messaggi
    36,462
    No ... non è possibile ... se ci sono problemi che coinvolgono puntatori e aree di memoria "sporche" il risultato è imprevedibile e incontrollabile (almeno per il processo in questione).

    Devi fare molto "debugging" e con l'esperienza ci riesci facilmente anche con programmi più grandi.
    No MP tecnici (non rispondo nemmeno!), usa il forum.

  3. #3
    Il blocco probabilmente deriverà dal fatto che il programma va in un ciclo infinito e "mangia" tutta la CPU. In ogni caso dovresti riuscire a riprendere il controllo della macchina passando su una console (ad esempio facendo Ctrl+Alt+F2) e uccidendo da lì il processo impazzito (con la killall - ovviamente prima di riuscire ad ottenere la console può volerci un po'). Un'altra maniera è usare setrlimit per limitare il tempo di CPU che il tuo processo può mangiarsi.
    Amaro C++, il gusto pieno dell'undefined behavior.

Permessi di invio

  • Non puoi inserire discussioni
  • Non puoi inserire repliche
  • Non puoi inserire allegati
  • Non puoi modificare i tuoi messaggi
  •  
Powered by vBulletin® Version 4.2.1
Copyright © 2024 vBulletin Solutions, Inc. All rights reserved.