2010-04-20 15 views
6

Web config ha debug = true e il progetto è una build di debug ei file pdb sono presenti nella directory bin, ma non ottengo i numeri di linea nello stacktrace quando viene generata un'eccezione.IIS non fornisce i numeri di riga nello stack trace anche se pdb è presente

Funziona correttamente con IIS/Cassini locale ma non sui nostri server IIS di test. C'è qualche impostazione ovvia che potrei mancare?

risposta

8

Risulta utilizzando la rappresentazione con web.config:

<identity impersonate="true" /> 

provoca la perdita dei numeri di riga StackTrace. Ho ritirato la voce e sono stati restituiti i numeri di riga, reinseriti e dopo alcune ore (aggiornamento del ticket Kerberos?) I numeri di riga sono scomparsi nuovamente.

Non certo perché la rappresentazione riguarda l'analisi dello stack, ma lo fa - sarebbe felice di avere qualcuno confermare/spiegare questo ...

+0

Qualcun altro l'ha notato nel secondo ultimo post di questa discussione, ma nessuna spiegazione fornita: http://channel9.msdn.com/forums/TechOff/257195-Getting-line-number-in-Exception-for-ASPNET/ – Graeme

+0

Grazie Graeme, grazie, grazie, grazie. Ho passato 8 ore a provare a risolvere lo stesso problema e dopo aver provato tutto ciò a cui riuscivo a pensare e tutto ciò a cui non riuscivo a pensare, questa era la soluzione. Ho bisogno di imitazione per alcuni dei miei siti web, ma quei siti hanno numeri di linea. Per una ragione sconosciuta, questo particolare sito Web non aveva numeri di linea e la disattivazione lo impersonava nel web.config locale risolto il problema. GRAZIE!!! –

+0

Ho appena avuto lo stesso problema qui. Direi che quello che sta succedendo è che quando la DLL viene caricata il thread è in esecuzione come l'identità standard ASP.Net ma quando si verifica l'eccezione e vuole generare la traccia dello stack, il thread è in esecuzione come utente chiamante che non ha accesso per leggere il file PDB. La nostra applicazione richiede impersonate = true to work ma l'abbiamo risolto consentendo a tutti l'accesso completo al controllo nel file PDB. – Andy

1

Controllare il file Machine.config

In ASP.NET 2.0 è presente un interruttore che può essere attivato in machine.config che spegne tutto il debug = true, quindi in applicazioni 2.0 è possibile farlo direttamente senza preoccuparsi di scoprire quali applicazioni fanno e non ce l'hanno.

<system.web> 

     <deployment retail=”true”/> 

</system.web> 

Fonti http://blogs.msdn.com/tess/archive/2006/04/13/575364.aspx

+0

Ho provato questo sul computer locale e in realtà si spegne completamente la traccia - solo il testo dell'eccezione è restituito. Con l'impostazione predefinita ottengo la traccia, ma non sono presenti nomi di file e numeri di riga. – Graeme

1

Secondo question 4130956: Se impersonate = "true", per ottenere i numeri di riga in la traccia dello stack, è necessario assegnare il diritto utente 'Debug Programs' all'account che si sta utilizzando per accedere.

Problemi correlati