问题描述
限时送ChatGPT账号..我正在使用一个在运行时生成大量代码的程序,并且似乎没有为其生成任何展开数据.(我没有这个程序的源代码;我正在为它编写一个插件.)
I'm working with a program that generates a lot of code at runtime, and seems not to produce any unwind data for it. (I don't have source code for this program; I'm writing a plugin for it.)
当程序挂起时,我使用 WinDbg 进入它,并尝试使用 ~* k
获取所有线程的堆栈跟踪.除了堆栈跟踪外,我还沿着
When the program hangs, I break into it with WinDbg, and try to get a stack trace for all threads with ~* k
. As well as the stack traces, I also get pages and pages (and pages, and more) of messages along the line of
Unable to read dynamic function table entry at 00000000`2450b580
这需要很长时间来打印 - 超过一分钟 - 并且它溢出了滚动缓冲区,所以我丢失了大部分输出.
This takes a long time to print - over a minute - and it overflows the scroll buffer, so I lose most of the output.
我现在已经通过十六进制编辑包含此消息的 DLL 解决了这个问题,但是……说真的.有没有官方的方法来摆脱这条消息?
I've worked around this for now by hex-editing the DLL that contains this message, but... seriously. Is there an official way of getting rid of this message?
我准备好从问题线程中获得糟糕的堆栈跟踪.
I'm prepared for a crappy stack trace from the problem thread(s).
推荐答案
请注意,这是一项安全功能,因此您需要自行承担禁用它的风险.有两种选择:
Note that this is a security feature, so disable it at your own risk. There are two options:
如果您知道哪个模块导致了这种情况,您可以将完整路径添加到注册表:HKLM\Software\Microsoft\Windows NT\CurrentVersion\KnownFunctionTableDlls 注册表项您可以使用.settings set EngineInitialization.VerifyFunctionTableCallbacks=false 禁用它
第二个选项仅在当前会话中禁用它.如果你想让它永久化,你可以用 .settings save
跟随它.
The second option only disables it for the current session. If you want to make it permanent, you can follow it with .settings save
.
这篇关于我可以禁用“无法读取动态函数表条目"吗?WinDbg 中的消息?的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!
更多推荐
[db:关键词]
发布评论