dllMainReturnsFalse MDA
注意
本文特定于 .NET Framework。 它不适用于 .NET 的较新版本实现,包括 .NET 6 及更高版本。
如果用户程序集的托管 DllMain
函数(因 DLL_PROCESS_ATTACH 原因而调用)返回 FALSE,则将激活 dllMainReturnsFalse
托管调试助手 (MDA)。
症状
DllMain
函数返回 FALSE,表示其未正确执行。 这会导致一些未确定的问题,因为 DllMain
函数通常包含重要的初始化代码。
原因
因 DLL_PROCESS_ATTACH 原因调用 DllMain
函数,在上传时初始化 DLL。 如果它返回 FALSE,则意味着该 DLL 初始化失败。
解决方法
分析失败的 DLL 的 DllMain
函数的代码,找出初始化失败的原因。
对运行时的影响
此 MDA 对 CLR 无任何影响。 它只报告有关 DllMain
的返回值的数据。
输出
一条指示 DllMain
函数(因 DLL_PROCESS_ATTACH 原因调用)返回 FALSE 的消息。 请注意,此 MDA 仅在托管代码中实现 DllMain
时才激活。
Configuration
<mdaConfig>
<assistants>
<dllMainReturnsFalse />
</assistants>
</mdaConfig>