microsoftfeedback / WinDbg-Feedback

Public issue and feedback tracking for WinDbg Preview.
Creative Commons Attribution 4.0 International
49 stars 12 forks source link

k command does not display some managed frames #95

Open gitvron opened 1 year ago

gitvron commented 1 year ago

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?

ronvgs commented 4 months ago

@lzybkr Does k command have full support for mixed C++ & C# callstacks?