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>

请参阅