如何避免 WinDbg 调用堆栈中的 ChildEBP 和 RetAddr?

How to avoid ChildEBP and RetAddr in WinDbg call stack?

如果使用k命令在WinDbg中输出调用堆栈,则输出包括开头的两列ChildEBP和RetAddr:

ChildEBP RetAddr  
0151d9c8 55c59339 KERNELBASE!RaiseException+0x48
0151da08 00e15b3a msvcr120!_CxxThrowException+0x5b [f:\dd\vctools\crt\crtw32\eh\throw.cpp @ 152]
...

鉴于我想通过调用堆栈的相似性对许多故障转储进行聚类,ChildEBP 和 RetAddr 地址阻止我这样做:即使调用堆栈实际上相同,它们也不同,只是因为地址不同加载 DLL 的位置。

很明显,这些东西可以通过一些简单的文本处理来删除,但可能在 WinDbg 中有一些命令允许显示没有 ChildEBP 和 RetAddr 的调用堆栈:

KERNELBASE!RaiseException+0x48
msvcr120!_CxxThrowException+0x5b [f:\dd\vctools\crt\crtw32\eh\throw.cpp @ 152]
...

?

Sean Cline in the comments already, kc 所述,显示 clean 堆栈。