我与生成在运行时大量的代码,并且似乎没有产生任何展开数据为它的程序工作。 (我没有源代码,这个程序,我正在写一个插件吧。)
当程序挂起,我闯了进去使用WinDbg,并试图让一个堆栈跟踪的所有线程~* k
。 还有堆栈跟踪,我也得到页面和页面(和网页,以及更多)消息沿着线
Unable to read dynamic function table entry at 00000000`2450b580
这需要很长的时间打印 - 一分钟 - 和溢出滚动缓冲区,所以我失去大部分的输出。
我已经解决这个现由十六进制编辑包含此消息的DLL工作了,但......严重。 是否有摆脱这一消息的官员呢?
我是从这个问题的线程(S)一个蹩脚的堆栈跟踪的准备。
请注意,这是一个安全功能,让您自担风险禁用它。 有两个选项:
- 如果你知道哪些模块是造成这种情况,可以将完整的路径添加到寄存器:HKLM \ SOFTWARE \微软\的Windows NT \ CURRENTVERSION \ KnownFunctionTableDlls注册表项
- 您可以禁用它
.settings set EngineInitialization.VerifyFunctionTableCallbacks=false
第二个选项只禁止其用于当前的会话。 如果你想让它永久的,你可以按照它与.settings save
。
如果你正在运行的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?