2009-12-24 8 views

risposta

25

Sì, questo è possibile, non è necessario il codice sorgente. Debug + New Breakpoint + Break at Function. Imposta la posizione sul nome della funzione. Ad esempio: "Microsoft.VisualStudio.HostingProcess.HostProc.RunUsersAssembly". Disattiva la casella di controllo "Usa Intellisense", non ne avrai. La lingua è un'ipotesi se non sai cosa è stato scritto, scegli "Sconosciuto" se non sei sicuro.

Si vorrà tenere d'occhio la finestra Debug + Windows + punti di interruzione per verificare che il debugger possa risolvere il punto di interruzione. Non sarà in grado di farlo fino a quando l'assembly non verrà caricato e il metodo verrà compilato con JIT.

Questa non è certamente la più grande esperienza di debug. Una volta raggiunto il punto di interruzione, non hai nulla da guardare ma il codice macchina generato dal compilatore JIT. E la finestra Call Stack, la tua ultima risorsa per vedere i nomi dei metodi btw.

+0

Quindi, come impostare un'interruzione, ad es. 'System.DateTime.IsLeapYear()'? Ho provato questo, ma non si sta rompendo. Ho i 'Microsoft Symbols Servers' definiti in Strumenti> Debug> Simboli, ma la finestra Punti di interruzione mostra 'Simbolo non trovato'. – Rubio

+0

Funziona bene quando lo provo. Non digitare il() –

+3

impostato su "Solo il mio codice" (di nuovo, sospiro) in modo che i simboli non vengano caricati. Ho solo bisogno di caricare il codice sorgente. Capisco che John Robbins abbia uno strumento per questo. – Rubio

Problemi correlati