La mia applicazione .net gestita utilizza librerie .net di terze parti, che usano (via PInvoke) le dll non gestite. Vorrei scoprire quali sono le DLL caricate. Ho provato a utilizzare "Process Explorer" e "Dependency Walker", ma posso vedere solo le DLL gestite.Come trovare un elenco di tutto il carico di DLL non gestito dalla mia applicazione .net gestita
risposta
Qualsiasi debugger potrebbe fare questo (windbg
per esempio) - ma dal momento che è una buona probabilità che stai imballaggio Visual Studio vi parlerò di come farlo in quel
Collegare il debugger di Visual Studio per l'applicazione, ricordando di selezionare solo il debugger nativo come segue:
Una volta entrato allega, ha colpito Debug -> pausa e poi premere [CTRL] + [ALT] + [U]
per visualizzare la finestra di moduli (è sul menu da qualche parte, ma io posso 'T lo trovano) - ecco un esempio sparato dall'applicazione Samsung Kies mio desktop (che utilizza WPF):!
Nel mio caso ho attivato il debugger gestito troppo, e si è trasferito il nome del processo per la inizio dell'elenco delle colonne ai fini di tale schermata.
Se il nome del processo ha : Native
dopo, è una DLL non gestita (beh, potrebbe anche essere in modalità mista, suppongo).
Nota che tutti processi in Windows sempre hanno un buon lungo elenco di DLL non gestite caricate; perché Windows non è gestito nel suo cuore ed è l'host definitivo dell'applicazione.
Ma certamente è possibile utilizzare questo elenco come punto di partenza e filtrare da lì.
Grazie, questo era esattamente ciò di cui avevo bisogno. – Gerhard
grazie Andras! è stato utile .... – VVV