Dopo aver eseguito molte ricerche, non sono riuscito a ottenere la soluzione per la domanda.Come ottenere il file PDB per mscorlib.ni.lib (.Net Framework 3.5)
Ho un file mdmp. Lo stack di chiamate mostra che sta utilizzando mscorlib.ni.dll. Quindi, per ottenere le informazioni sulla funzione, ho bisogno di ottenere il suo file pdb.
La versione di mscorlib.ni.dll è 2.0.50727.3655. Credo che provenga da .Net Framework 3.5.
Poiché mscorlib.ni.dll è la dll ottimizzata nativa che è generata da ngen.exe, quindi ho bisogno di usare ngen.exe createpdb per generare pdf per questa dll.
ngen.exe createpdb "C:\Windows\assembly\...\mscorlib.ni.dll" "C:\SymbolCache"
Ecco il risultato:
- Non riesco a trovare Ngen.exe nella cartella "C: \ Windows \ Microsoft.NET \ Framework64 \ v3.5"
- sono riuscito a trovare ngen.exe nella cartella "C: \ Windows \ Microsoft.NET \ Framework64 \ v2", ma non ha l'opzione createpdb.
- Sono riuscito a trovare ngen.exe nella cartella "C: \ Windows \ Microsoft.NET \ Framework64 \ v4.0.30319" e supporta l'opzione createpdb, ma riporta un errore.
Microsoft (R) CLR nativo Image Generator - Versione 4.0.30319.18408 Copyright (c) Microsoft Corporation. Tutti i diritti riservati. Intestazione non valida trovata nell'immagine nativa 'C: \ Windows \ assembly \ NativeImages_v2.0.507 7_64 \ mscorlib \ 5cd1c2848ff40eb0a8c149706ee394fa \ mscorlib.ni.dll'. errore non specificato (Eccezione da HRESULT: 0x80004005 (E_FAIL))
quindi non ho idea di come ottenere il PPB per questo mscorlib.ni.dll di Net Framework 3.5.
Qualche idea?
non è sicuro se è importante, ma si esegue ngen ver versione 4.0.30319.18408 su un assembly da .net 2.0.507 (basato su questo C: \ Windows \ assembly \ NativeImages_v2.0.507). prova ad usare il ngen della stessa versione. – Califf
La stessa versione "ngen" 2.050727 non supporta l'argomento "createpdb". – Buzz