k command shows method names for most managed frames in mixed callstacks. But for some modules it fails. The frames are displayed as raw addresses instead of method names.
Ex:
0:000> kpn
Child-SP RetAddr Call Site
00 000000ba`cfbfa820 00007ff8`2573e1fd KERNELBASE!RaiseException+0x68
01 000000ba`cfbfa900 00007ff8`2573f884 clr!RaiseTheExceptionInternalOnly+0x31f
02 000000ba`cfbfaa20 00007fff`fdaf7479 clr!IL_Throw+0x114
03 000000ba`cfbfabd0 00007fff`fda9a0f7 System_Windows_Forms_ni!System.Windows.Forms.Control.Dispose(System.Windows.Forms.Control this = <Value unavailable error>, bool disposing = <Value unavailable error>)+0x3e9
04 000000ba`cfbfac60 00007fff`fe28a765 System_Windows_Forms_ni!System.Windows.Forms.Form.Dispose(System.Windows.Forms.Form this = 0x00000273`be318030, bool disposing = <Value unavailable error>)+0x267
05 000000ba`cfbfad20 00007ff7`c62516cf System_Windows_Forms_ni!System.Windows.Forms.Form.WmClose(System.Windows.Forms.Form this = <Value unavailable error>, <Type information missing error> m = <Type information missing error>)+0x435
06 000000ba`cfbfada0 00007fff`fe276236 0x00007ff7`c62516cf
07 000000ba`cfbfadd0 00007fff`fe1e96a2 System_Windows_Forms_ni!System.Windows.Forms.NativeWindow.DebuggableCallback(System.Windows.Forms.NativeWindow this = 0x00000273`be3190e0, <Type information missing error> hWnd = <Type information missing error>, int msg = 0n16, <Type information missing error> wparam = <Type information missing error>, <Type information missing error> lparam = <Type information missing error>)+0x86
08 000000ba`cfbfae50 00007ff8`2570222e System_Windows_Forms_ni+0x9e96a2
09 000000ba`cfbfaec0 00007ff8`346f21e4 clr!UMThunkStub+0x6e
...
Run .reload /f command and then run k again and it displays the symbol for that frame:
0:000> kpn
# Child-SP RetAddr Call Site
00 000000ba`cfbfa820 00007ff8`2573e1fd KERNELBASE!RaiseException+0x68
01 000000ba`cfbfa900 00007ff8`2573f884 clr!RaiseTheExceptionInternalOnly+0x31f
02 000000ba`cfbfaa20 00007fff`fdaf7479 clr!IL_Throw+0x114
03 000000ba`cfbfabd0 00007fff`fda9a0f7 System_Windows_Forms!System.Windows.Forms.Control.Dispose(System.Windows.Forms.Control this = <Value unavailable error>, bool disposing = <Value unavailable error>)+0x3e9
04 000000ba`cfbfac60 00007fff`fe28a765 System_Windows_Forms!System.Windows.Forms.Form.Dispose(System.Windows.Forms.Form this = 0x00000273`be318030, bool disposing = <Value unavailable error>)+0x267
05 000000ba`cfbfad20 00007ff7`c62516cf System_Windows_Forms!System.Windows.Forms.Form.WmClose(System.Windows.Forms.Form this = <Value unavailable error>, <Type information missing error> m = <Type information missing error>)+0x435
06 000000ba`cfbfada0 00007fff`fe276236 Mydll!MyNS.modulens.BaseForm.WndProc+0x2f [d:\Factory\Mydll\GUI\MyBaseForm.cs @ 43]
07 000000ba`cfbfadd0 00007fff`fe1e96a2 System_Windows_Forms!System.Windows.Forms.NativeWindow.DebuggableCallback(System.Windows.Forms.NativeWindow this = 0x00000273`be3190e0, <Type information missing error> hWnd = <Type information missing error>, int msg = 0n16, <Type information missing error> wparam = <Type information missing error>, <Type information missing error> lparam = <Type information missing error>)+0x86
08 000000ba`cfbfae50 00007ff8`2570222e System_Windows_Forms+0x9e96a2
09 000000ba`cfbfaec0 00007ff8`346f21e4 clr!UMThunkStub+0x6e
...
Is this a bug in the k command? Or issue with the module?
k command shows method names for most managed frames in mixed callstacks. But for some modules it fails. The frames are displayed as raw addresses instead of method names. Ex:
Run .reload /f command and then run k again and it displays the symbol for that frame:
Is this a bug in the k command? Or issue with the module?