Visualizzazione dei risultati da 1 a 6 su 6
  1. #1
    Utente di HTML.it L'avatar di XWolverineX
    Registrato dal
    Aug 2005
    residenza
    Prague
    Messaggi
    2,563

    Come lavorano i compilatori in modalità debug?

    Nei linguaggi compilati (c,c++) è possibile comunque andare in modalità debug e seguire riga per riga le azioni dei codici...
    Ma se il programma è stato compilato, come può l'IDE sapere a che linea di codice mi trovo?
    Per questo ho pensato: ma forse in modalità debug vengono interpretati?
    "Se proprio devono piratare, almeno piratino il nostro." (Bill Gates)

    "Non è possibile che 2 istituzioni statali mi mettano esami nello stesso giorno." (XWolverineX)

    http://xvincentx.netsons.org/programBlog

  2. #2
    Utente di HTML.it L'avatar di andbin
    Registrato dal
    Jan 2006
    residenza
    Italy
    Messaggi
    18,284

    Re: Come lavorano i compilatori in modalità debug?

    Originariamente inviato da XWolverineX
    Nei linguaggi compilati (c,c++) è possibile comunque andare in modalità debug e seguire riga per riga le azioni dei codici...
    Ma se il programma è stato compilato, come può l'IDE sapere a che linea di codice mi trovo?
    Per questo ho pensato: ma forse in modalità debug vengono interpretati?
    No assolutamente.
    Parlando molto in generale, la compilazione in modalità "debug" genera una serie di informazioni di debugging memorizzate da qualche parte e usate poi successivamente dal debugger. Inoltre vengono disabilitate tutte le ottimizzazioni. Questo perché le ottimizzazioni possono alterare il modo in cui viene generato il codice, ad esempio compattando certe cose o addirittura togliendole.

    Dove vengono messe le informazioni di debugging, dipende ... dal compilatore e anche eventualmente dalla configurazione del "progetto".
    Andrea, andbin.devSenior Java developerSCJP 5 (91%) • SCWCD 5 (94%)
    java.util.function Interfaces Cheat SheetJava Versions Cheat Sheet

  3. #3
    Utente di HTML.it L'avatar di oregon
    Registrato dal
    Jul 2005
    residenza
    Roma
    Messaggi
    36,480
    Non solo ... ma la configurazione di debug indica al compilatore di usare un set di DLL diverse da quelle di Release e fatte appositamente per fare tutti i controlli sulle informazioni di cui parlava andbin.

    Ed e' questo un (tra i tanti) motivo per cui, in determinate condizioni, lo stesso sorgente, compilato in modalita' debug o release, si comporta in modo diverso ...

  4. #4
    Utente di HTML.it L'avatar di XWolverineX
    Registrato dal
    Aug 2005
    residenza
    Prague
    Messaggi
    2,563
    Mi viene spontanea un'altra domanda
    Se in modalità debug si riesce a risalire alla riga di codice che si sta eseguendo...eseguibili fatti in modalità debug possono essere anche decompilati??
    "Se proprio devono piratare, almeno piratino il nostro." (Bill Gates)

    "Non è possibile che 2 istituzioni statali mi mettano esami nello stesso giorno." (XWolverineX)

    http://xvincentx.netsons.org/programBlog

  5. #5
    Utente di HTML.it L'avatar di oregon
    Registrato dal
    Jul 2005
    residenza
    Roma
    Messaggi
    36,480
    No ... forse non e' chiaro ... ci sono i "riferimenti" alle linee del sorgente, non il sorgente.

    Nell'eseguibile c'e' scritto

    Inizia la linea 1
    assembler ...
    Inizia la linea 2
    assembler ...

    e quindi se hai il sorgente l'IDE e' capace di far apparire la linea sorgente corrispondente.

    Ovviamente, se il sorgente non c'e', il riferimento alle linee non basta per avere il codice sorgente.

  6. #6
    Utente di HTML.it L'avatar di XWolverineX
    Registrato dal
    Aug 2005
    residenza
    Prague
    Messaggi
    2,563
    Ah si ok.
    Thank you
    "Se proprio devono piratare, almeno piratino il nostro." (Bill Gates)

    "Non è possibile che 2 istituzioni statali mi mettano esami nello stesso giorno." (XWolverineX)

    http://xvincentx.netsons.org/programBlog

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 © 2025 vBulletin Solutions, Inc. All rights reserved.