2010-04-15 8 views
5

Sto cercando di entrare in un metodo di riferimento in una DLL esterna da un C# servizio Web DLL. Sto sviluppando il codice del servizio Web e posso utilizzarlo dalla mia app Winforms. La DLL che sto provando ad entrare dal servizio web è stata sviluppata da qualcun altro, e ho i file dll e pdb. Quando provo a entrare in esso sto ottenendo il messaggio di seguito:C# problema di debug: Nessun simboli vengono caricati per qualsiasi chiamata stack frame

'Non ci sono i simboli vengono caricati per qualsiasi chiamata stack frame. Il codice sorgente non può essere visualizzato '.

Qui è la mia messa a punto del progetto:

  • .NET 3.5, VS 2008 Professional, IIS 7 in esecuzione su Vista Ultimate
  • WinForms app WF1.exe, fa riferimento a servizio di web dll WS1.dll, in 1 soluzione sulla mia macchina
  • Database accesso dll DA1.dll compilato da un altro sviluppatore, a cui fa riferimento WS1.dll
  • DA1.dll e DA1.pdb file che si trovano nella directory principale del progetto di servizio web WS1
  • WS1 servizio web co mpiled e pubblicato sul mio IIS locale, DA1.dll e DA1.pdb file vengono copiati nella directory bin IIS WS1

Fin qui tutto bene e tutto funziona a un punto. Interrompo e passo in WF1.exe, quindi interrompo e passo in un metodo su WS1.dll senza problemi. Tuttavia, quando provo ad accedere a un metodo su DA1.dll, si verifica l'errore. Qualsiasi aiuto apprezzato.

(anche lo scopo di dire che ho attaccato al processo WebDev.WebServer.EXE per cercare di entrare in DA1)

Cheers,

Ciaran

+0

Forse è stato rimosso la casella di controllo dalle impostazioni del debugger "Attiva Just My Code"? Se non vai a Strumenti -> Opzioni. Nella pagina Generale deselezionare la casella di controllo "Abilita solo il mio codice (solo gestito)" e premere ok. Quindi riprova. – Ikaso

+0

Ok ho rimosso l'impostazione "Abilita solo il mio codice". Dopo il riavvio, sono accadute alcune cose strane: mi è stata richiesta una schermata di licenza per l'utente finale di .NET con Accept/Decline. Una volta accettato, continuò. Poi, quando ho cercato di entrare in linea di DA1 una finestra di dialogo aperta mi viene richiesto il Cs file associato al metodo mi è stato entrare in. ho eseguito per la seconda volta e né di quanto sopra è accaduto. Quando ho provato ad entrare nel metodo DA1 ho ottenuto "Non esiste un codice sorgente disponibile per la posizione corrente" –

risposta

6

Quando si esegue il debug è possibile caricare i simboli per una dll andando a Debug -> Windows -> Moduli

clic destro la dll appropriata e selezionare i simboli Load from -> Simbolo percorso

Se si continua ad avere problemi con questo e vogliono solo vedere cosa sta succedendo sotto il cofano, si potrebbe aprire la dll in Reflector.

+1

L'ho fatto e la DLL è nella lista, ma dice che i simboli sono caricati. Ho comunque aggiunto manualmente il percorso, ma ottengo ancora "Non c'è codice sorgente disponibile per la posizione corrente" quando provo ad entrare nel metodo –

+0

Stai ricevendo un'eccezione dalla DLL di terze parti? se sì, ti dà i numeri di linea? –

+0

Sì, l'eccezione è quando provo ad accedere al metodo nel DA1.dll esterno. Non dà numeri di linea solo il messaggio di codice sorgente non. –

Problemi correlati