2009-07-29 17 views

risposta

0

In Visual Studio credo che sia possibile creare una build di debug, ma include ulteriori informazioni di debug. Proprietà del progetto (tasto destro del mouse su progetto in soluzione) consente di accedere ai controlli che regolano la compilazione.

Se si crea sulla riga di comando con csc.exe, vedere /optimize parameter docs. Se non si specifica/si ottimizza, l'assieme non dovrebbe essere ottimizzato.

36

Nella riga di comando (CSC), /optimize-

Nell'IDE, proprietà del progetto → costruire → "codice di ottimizzare"

Per alcuni ottimizzazioni JIT, è possibile utilizzare [MethodImpl(...)]

+0

Se non si specifica/ottimizzazione si ottiene lo stesso comportamento di/optimize- –

+9

in modo specifico utilizzare [MethodImpl (MethodImplOptions.NoOptimization)] sui metodi per i quali si desidera ignorare l'ottimizzazione. Caso d'uso: in alcuni scenari, in cui una chiamata nativa chiama un'altra chiamata nativa, il compilatore genera un codice IL non valido e il runtime genera una eccezione InvalidProgramException quando si tenta di eseguirla. È possibile disattivare l'ottimizzazione per l'intero programma o utilizzare in modo selettivo [MethodImpl (MethodImplOptions.NoOptimization)] sui metodi che utilizzano le chiamate native. Ho dovuto fare esattamente questo per risolvere il problema in una recente applicazione su cui stavo lavorando ... –

+1

[MethodImpl (MethodImplOptions.NoOptimization)] non funziona affatto. L'ho messo su ogni singolo metodo nello stack delle chiamate e non ha alcun effetto. – vbullinger

5

È è possibile disabilitare le ottimizzazioni in runtime utilizzando un file .ini: http://msdn.microsoft.com/en-us/library/9dd8z24x.aspx

Immettere il seguente testo in .ini [ad esempio Explorer.i ni]

[.NET Framework Debugging Control] 
GenerateTrackingInfo=1 
AllowOptimize=0 
1

prima di iniziare a modificare le impostazioni del progetto che potrebbe trovare la sua strada per la produzione di verificare che la configurazione di soluzione è fissato per il debug e non rilasciano.

ho avuto lo stesso problema e poi ho visto che è stato impostato per rilasciare per sbaglio ...

enter image description here

4

impostare le configurazioni a tutte le configurazioni

Set ottimizzato il codice casella di controllo per incontrollata

enter image description here

Problemi correlati