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

时间:2016-01-20 13:55:06

标签: windbg dump callstack

如果使用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]
...

1 个答案:

答案 0 :(得分:1)

正如评论中Sean Cline所述,kc显示干净堆栈。