Newsgroup: it.comp.lang.visual-basic
Titolo: [?]VB.NET- Esegue codice commentato !

Riassunto:
Il runtime in presenza di un errore ha eseguito righe commentate.
Svolgimento dei fatti:
Ho eseguito quanto segue per verificare la funzionalità della Sub Main :
1- Form MDI nome: MascheraPrincipale
2- Ho aggiunto il seguente codice in un module di nome modMain:
Module modMain
    <STAThread()> Public Sub Main()
        Call LeggiValoriPrima()
        Call LeggiValoriDopo()
        ' Starts the application.
        Application.Run(New MascheraPrincipale())
    End Sub
    Private Sub LeggiValoriPrima()
        Dim str As String
        str = "LeggiValoriPrima"
        MessageBox.Show(str)
    End Sub
    Private Sub LeggiValoriDopo()
        Dim str As String
        str = "LeggiValoriDopo"
        MessageBox.Show(str)
    End Sub
End Module
3- Oggetto di avvio: Sub main
4- ho avviato il progetto per costruire il file.exe
(fondamentale costruire prima il file.exe)
5 - nel maschera MDI ho aggiunto :
  <STAThread()> Public Sub Main()
        Application.Run(New MascheraPrincipale())
    End Sub
6- ho commentato il codice del Module modMain
'<STAThread()> Public Sub Main()
    '    Call LeggiValoriPrima()
    '    Call LeggiValoriDopo()
    '    ' Starts the application.
    '    Application.Run(New MascheraPrincipale())
    ' End Sub
7- ho avviato con F11 .
Risposta: Errore durante la generazione. Continuare ?
Si
Il debug si porta sulle righe commentate e le esegue.
Il runtime deve leggere ed eseguire righe commentate in presenza di un
errore ?
giuseppeD

 ha scritto nel messaggio
news:%q8a9.16765$pX1.4...@news2.tin.it...
Ho eseguito la controprova.
come Oggetto di avvio: MascheraPrincipale
Ho commentato le Sub Main
Ho avviato l'applicazione. Sono state memorizzate le righe Commentato.
Ho rieseguito in presenza dell'errore: non è stato letto il codice
commentato.
Conclusione: il runtime esegue solo  codice salvato.
Se il runtime esegue solo il salvato , in presenza di un errore ,se decido
di proseguire (è il programma che me lo permette) devo ricevere un avviso
che mi avverte che le modifiche apportate dopo l'ultima modifica salvata
,nonostante vengono "lette" , non saranno eseguite.
giuseppeD

Dai un occhiata alle impostazioni di VS.Net
Tools->Options->Debugging->Edit And Continue
Seleziona "Warn Me if I make changes"
HTH
--
Corrado Cavalli
UGIdotNET - 
http://www.ugidotnet.org

 Seleziona "Warn Me if I make changes"
Avvisa in caso di modifiche
è selezionata
Questo test mi ha dato l'impressione che quello che vediamo ,durante la fase
di debug , è una illusione , e che il programma non verifica la riga riga
selezionata.
giuseppeD

A me è capitato di avere una non sincronizzazione tra il debugger e il
codice eseguito quando  ho modificato il codice di un assembly che però
avevo escluso dal build, quindi il debugger aveva una versione di eseguibile
che non coincideva con il codice sorgente.
Non è che anche tu ti trovi in questa situazione?


> Non è che anche tu ti trovi in questa situazione?
Per il momento ho solo informazioni teoriche sulla costruzioni di Assembly ;
passando al pratico eseguirò test oppurtini.
giuseppeD


Si trova in una situazione analoga.
E' abbastanza familiare a chi ha fatto debug con Interdev: cio' che hai a
schermo e' il sorgente CORRENTE, cioe' che viene eseguito e' il codice
COMPILATO.
Le due cose non sono necessariamente sincrone e, se il sorgente non e'
compilabile, .NET ti fa l'edit&continue ma non ricompila, quindi continuera'
ad eseguire il codice del vecchio sorgente pur mostrandoti il nuovo.
HTH,
*