2013-07-23 12 views
8

Sto cercando di utilizzare nuovi visualizzatori di debug nel mio progetto, ma qualcosa è successo a Visual Studio e non raccoglie più i miei file natvis. Ho provato a copiarli su %USERPROFILE%\My Documents\Visual Studio 2012\Visualizers e su \Program Files (x86)\Microsoft Visual Studio 11.0\Common7\Packages\Debugger\Visualizers ma non riesce ancora.File natvis definiti dall'utente in Visual Studio 2012

Ha funzionato una settimana fa, ma da allora qualcosa si è rotto.

Ho provato a riparare Visual Studio ma non è stato di aiuto.

Ho tentato di abilitare EnableNatvisDiagnostics nel Registro di sistema ma non ho ricevuto alcun messaggio di diagnostica nello Output window.

I file natvis preinstallati funzionavano bene però. Così ho provato a rimuovere uno dei file natvis preinstallati: stl.natvis da Program Files (x86)\Microsoft Visual Studio 11.0\Common7\Packages\Debugger\Visualizers ma Visual Studio mostrava ancora vector come se avesse accesso al file stl.natvis. Qualcuno sa come risolvere questo? C'è qualche altra posizione in cui Visual Studio carica i file natvis? Forse c'è una chiave di registro per questo?

PS. Ho provato a utilizzare ProcessMonitor per individuare la posizione da cui Visual Studio carica i file natvis, ma non ho trovato alcun riferimento nei registri ProcessMonitor s.

risposta

14

Finalmente ho capito. I visualizzatori Natvis non funzionano quando Edit and Continue è abilitato.

+0

Grazie per aver postato. Questo mi ha totalmente frustrato finché non ho trovato la tua risposta. –

+2

Santa merda, questa è probabilmente la cosa più stupida di sempre! – RelativeGames

+0

Grazie, hai dato una luce! – Enzojz

4

Ho avuto lo stesso problema.

Controllare Strumenti-> Opzioni-> Debug-> Generale->Mostra struttura grezza degli oggetti nelle finestre variabili. Dovrebbe essere disabilitato.

0

Ho appena realizzato che i file NatVis personalizzati (quelli in %USERPROFILE%\Documents\Visual Studio 201x\Visualizers) non vengono utilizzati se si utilizza ReSharper Test Runner per eseguire il debug di un test. Tuttavia quelli integrati, ad es. per std::vector stanno lavorando.

Se si esegue una prova regolarmente (vale a dire, Debug -> Avvia debug , probabilmente F5) file vostra abitudine NatVis vengono caricati e utilizzati.