Windbg 从十六进制表示中找出调用位置

Windbg 从十六进制表示中找出调用位置,windbg,Windbg,我试图分析MS BizTalk服务的崩溃转储,它一直在消耗100%的CPU(我想这是因为我们的代码:)。我有几个转储,最繁忙线程的堆栈跟踪看起来很相似——唯一的问题是,堆栈顶部似乎缺少符号。看起来是这样的: 0x642`810b2fd0 所以,问题是-我如何从这个地址找到模块/函数?(或者至少是模块,以便我知道缺少什么符号文件)。希望我能提供更多帮助,但我唯一能建议的是阅读WinDbg命令。有一个命令wt,它有一个参数列表,可以帮助获取有关调用站点的模块信息 让我知道这是否对您有用。希望我能提

我试图分析MS BizTalk服务的崩溃转储,它一直在消耗100%的CPU(我想这是因为我们的代码:)。我有几个转储,最繁忙线程的堆栈跟踪看起来很相似——唯一的问题是,堆栈顶部似乎缺少符号。看起来是这样的:

0x642`810b2fd0

所以,问题是-我如何从这个地址找到模块/函数?(或者至少是模块,以便我知道缺少什么符号文件)。

希望我能提供更多帮助,但我唯一能建议的是阅读WinDbg命令。有一个命令
wt
,它有一个参数列表,可以帮助获取有关调用站点的模块信息


让我知道这是否对您有用。

希望我能提供更多帮助,但我唯一能建议的是阅读WinDbg命令。有一个命令
wt
,它有一个参数列表,可以帮助获取有关调用站点的模块信息


请告诉我这是否对您有用。

lm
在WinDbg转储模块列表中。在您的情况下,WinDbg找不到任何占用此地址的模块——否则它将打印+。有些库动态生成代码,在这种情况下,函数体将放在堆中,并且没有任何符号,甚至没有与之关联的模块。我知道MCF在某个时候做过这件事


我建议您尝试分析堆栈顶部具有符号的帧,并尝试找出它们可能在做什么

WinDbg中的lm转储模块列表。在您的情况下,WinDbg找不到任何占用此地址的模块——否则它将打印+。有些库动态生成代码,在这种情况下,函数体将放在堆中,并且没有任何符号,甚至没有与之关联的模块。我知道MCF在某个时候做过这件事

我建议您尝试分析堆栈顶部具有符号的帧,并尝试找出它们可能在做什么