我可以禁用“无法读取动态函数表条目”中WinDbg的消息?(Can I disable the “U

2019-09-28 07:39发布

我与生成在运行时大量的代码,并且似乎没有产生任何展开数据为它的程序工作。 (我没有源代码,这个程序,我正在写一个插件吧。)

当程序挂起,我闯了进去使用WinDbg,并试图让一个堆栈跟踪的所有线程~* k 。 还有堆栈跟踪,我也得到页面和页面(和网页,以及更多)消息沿着线

Unable to read dynamic function table entry at 00000000`2450b580

这需要很长的时间打印 - 一分钟 - 和溢出滚动缓冲区,所以我失去大部分的输出。

我已经解决这个现由十六进制编辑包含此消息的DLL工作了,但......严重。 是否有摆脱这一消息的官员呢?

我是从这个问题的线程(S)一个蹩脚的堆栈跟踪的准备。

Answer 1:

请注意,这是一个安全功能,让您自担风险禁用它。 有两个选项:

  • 如果你知道哪些模块是造成这种情况,可以将完整的路径添加到寄存器:HKLM \ SOFTWARE \微软\的Windows NT \ CURRENTVERSION \ KnownFunctionTableDlls注册表项
  • 您可以禁用它.settings set EngineInitialization.VerifyFunctionTableCallbacks=false

第二个选项只禁止其用于当前的会话。 如果你想让它永久的,你可以按照它与.settings save



Answer 2:

如果你正在运行的WinDbg最新版本

你可以尝试设置引擎初始化设置

0:000> dx Debugger.Settings.EngineInitialization.VerifyFunctionTableCallbacks
Debugger.Settings.EngineInitialization.VerifyFunctionTableCallbacks                 : true
0:000> dx Debugger.Settings.EngineInitialization.VerifyFunctionTableCallbacks = false
Debugger.Settings.EngineInitialization.VerifyFunctionTableCallbacks = false : false
0:000> dx Debugger.Settings.EngineInitialization.VerifyFunctionTableCallbacks
Debugger.Settings.EngineInitialization.VerifyFunctionTableCallbacks                 : false


文章来源: Can I disable the “Unable to read dynamic function table entry” message in WinDbg?