Windbg 从十六进制表示中找出调用位置
我试图分析MS BizTalk服务的崩溃转储,它一直在消耗100%的CPU(我想这是因为我们的代码:)。我有几个转储,最繁忙线程的堆栈跟踪看起来很相似——唯一的问题是,堆栈顶部似乎缺少符号。看起来是这样的:Windbg 从十六进制表示中找出调用位置,windbg,Windbg,我试图分析MS BizTalk服务的崩溃转储,它一直在消耗100%的CPU(我想这是因为我们的代码:)。我有几个转储,最繁忙线程的堆栈跟踪看起来很相似——唯一的问题是,堆栈顶部似乎缺少符号。看起来是这样的: 0x642`810b2fd0 所以,问题是-我如何从这个地址找到模块/函数?(或者至少是模块,以便我知道缺少什么符号文件)。希望我能提供更多帮助,但我唯一能建议的是阅读WinDbg命令。有一个命令wt,它有一个参数列表,可以帮助获取有关调用站点的模块信息 让我知道这是否对您有用。希望我能提
0x642`810b2fd0
所以,问题是-我如何从这个地址找到模块/函数?(或者至少是模块,以便我知道缺少什么符号文件)。希望我能提供更多帮助,但我唯一能建议的是阅读WinDbg命令。有一个命令
wt
,它有一个参数列表,可以帮助获取有关调用站点的模块信息
让我知道这是否对您有用。希望我能提供更多帮助,但我唯一能建议的是阅读WinDbg命令。有一个命令
wt
,它有一个参数列表,可以帮助获取有关调用站点的模块信息
请告诉我这是否对您有用。
lm
在WinDbg转储模块列表中。在您的情况下,WinDbg找不到任何占用此地址的模块——否则它将打印+。有些库动态生成代码,在这种情况下,函数体将放在堆中,并且没有任何符号,甚至没有与之关联的模块。我知道MCF在某个时候做过这件事
我建议您尝试分析堆栈顶部具有符号的帧,并尝试找出它们可能在做什么 WinDbg中的lm转储模块列表。在您的情况下,WinDbg找不到任何占用此地址的模块——否则它将打印+。有些库动态生成代码,在这种情况下,函数体将放在堆中,并且没有任何符号,甚至没有与之关联的模块。我知道MCF在某个时候做过这件事 我建议您尝试分析堆栈顶部具有符号的帧,并尝试找出它们可能在做什么