Articles of windbg

Come provare che .NET CLR JIT compila ogni metodo solo una volta per esecuzione?

C’è una vecchia domanda che chiede se C # viene JIT compilato ogni volta e la risposta del famoso Jon Skeet è: “no, è compilata solo una volta per applicazione” finché parliamo di applicazioni desktop che non sono NGENed. Voglio sapere se queste informazioni del 2009 sono ancora vere e voglio scoprirlo sperimentando e facendo […]

Discarica con origine sconosciuta

Ho la mia applicazione si blocca con il seguente CallStack sull’errore (da WinDbg): ntdll!ZwWaitForMultipleObjects+0xa KERNELBASE!WaitForMultipleObjectsEx+0xe8 kernel32!WaitForMultipleObjectsExImplementation+0xb3 clr!WaitForMultipleObjectsEx_SO_TOLERANT+0x91 clr!Thread::DoAppropriateAptStateWait+0x56 clr!Thread::DoAppropriateWaitWorker+0x1b1 clr!Thread::DoAppropriateWait+0x73 clr!CLREvent::WaitEx+0xc1 clr!CLREventWaitWithTry+0x5c clr! ?? ::FNODOBFM::`string’+0x6286a clr!AssemblySecurityDescriptor::UpgradePEFileEvidenceToAssemblyEvidence+0x11d clr!Assembly::ExecuteMainMethod+0xcb clr!SystemDomain::ExecuteMainMethod+0x452 clr!ExecuteEXE+0x43 clr!CorExeMainInternal+0xc4 clr!CorExeMain+0x15 mscoreei!CorExeMain+0x41 mscoree!CorExeMain_Exported+0x57 kernel32!BaseThreadInitThunk+0xd ntdll!RtlUserThreadStart+0x1d Questa è un’applicazione gestita e, secondo WinDbg, ci sono 61 processi / thread in esecuzione da tale applicazione. In WinDbg, […]

Cause di arresto anomalo durante la garbage collection

Ho sofferto per un po ‘di tempo con un crash in un’applicazione C # che utilizza anche una buona parte di moduli C ++ / CLI che sono principalmente wrapper attorno alle librerie native per accedere ai driver dei dispositivi. Il crash non è sempre facilmente riproducibile, ma sono riuscito a raccogliere una mezza dozzina […]

Assembly WinDbg e .Net x64: procedura dettagliata per il raggiungimento di un punto di interruzione in una sorgente C #

Sto avendo tempi molto duri con WinDbg per tracciare un semplice riferimento a un object in un’app C # Forms. Ho trovato un bellissimo tutorial di Chris Lovett: GCRoot Demo sull’uso di “SOS” nella finestra immediata di VS Sfortunatamente, sto eseguendo il debug di un’app x64 e la ricompilazione della mia app in 32-bit influenzerà […]

Debug di arresto anomalo di Winform – C #

System.AccessViolationException was unhandled Message=Attempted to read or write protected memory. This is often an indication that other memory is corrupt. Source=System.Windows.Forms StackTrace: at System.Windows.Forms.UnsafeNativeMethods.PeekMessage(MSG& msg, HandleRef hwnd, Int32 msgMin, Int32 msgMax, Int32 remove) at System.Windows.Forms.Application.ComponentManager.System.Windows.Forms.UnsafeNativeMethods.IMsoComponentManager.FPushMessageLoop(Int32 dwComponentID, Int32 reason, Int32 pvLoopData) at System.Windows.Forms.Application.ThreadContext.RunMessageLoopInner(Int32 reason, ApplicationContext context) at System.Windows.Forms.Application.ThreadContext.RunMessageLoop(Int32 reason, ApplicationContext context) at System.Windows.Forms.Application.Run(Form mainForm) at ABC.Program.Main() […]

Ottieni i simboli nativi .net nativi per Windbg

Sto facendo un po ‘di debug di crash dump, dove sto cercando un dump preso da un server di produzione. Il computer su cui sto eseguendo WinDbg deve avere una versione leggermente diversa del runtime .NET installato. Ricevo errori durante il caricamento delle immagini native degli assembly di sistema .NET (quindi non è ansible caricare […]

diassemble problema di codice gestito

Sto usando Windbg per scomporre il codice gestito (scritto in C #, applicazione console) usando il comando di Windbg !U da sos.dll. Trovo che quando si usa !U per smontare una funzione gestita, il codice IL diassemblato contiene solo chiamate di funzione che ho fatto, e per parti rimanenti (codice C # di chiamata non […]

Perché questo non causa una perdita di memoria quando l’evento non è annullato

Sto cercando di capire come gli eventi possono causare una perdita di memoria. Ho trovato una buona spiegazione a questa domanda di stackoverflow ma quando guardo gli oggetti in Windg, mi sto confondendo con il risultato. Per cominciare, ho una class semplice come segue. class Person { public string LastName { get; set; } public […]

Perché il comando psscor4 non verrà eseguito

Per qualche ragione, non posso eseguire alcun comando dopo aver caricato psscor4. Ho scaricato x64 di psscor4 dal sito Web di MS e lo metto nella stessa cartella in cui si trova windbg. Prima di caricare psscor4, posso eseguire comandi sos bene senza alcun problema. 0:003> .loadby sos clr 0:003> lmvm clr start end module […]

Windbg con SOS, Come scaricare ac # struct

Come faccio a scaricare una struttura usando windbg, esiste un comando dumpstruct simile a dumpobject? O può anche dumpobject dump struct?