gpt4 book ai didi

c++ - 关于如何修复 Visual Studio 2019 中的 Dll 初始化错误的任何想法?

转载 作者:行者123 更新时间:2023-12-04 10:10:28 24 4
gpt4 key购买 nike

编码新手,当我正在处理 C++ 控制台应用程序时,突然间我无法打开应用程序进行调试。它只是弹出并显示“应用程序无法正确启动 (0xc0000142)”。 visual studio 上也没有错误/警告代码。花了最后一个小时尝试我在论坛等上阅读的各种不同的解决方案。完全更新的 Windows、更新的 nvidia 驱动程序、更改注册表编辑器中的值、检查防火墙等。我唯一能想到的就是运行 sfc 并且可能必须重新安装 Windows(我不想这样做)。在关闭弹出窗口后 visual studio 的输出中,显示这是由于“DLL 初始化”失败。

'tetris.exe' (Win32): Loaded 'C:\Windows\System32\ntdll.dll'. Symbols loaded.
'tetris.exe' (Win32): Loaded 'C:\Windows\System32\kernel32.dll'. Symbols loaded.
'tetris.exe' (Win32): Loaded 'C:\Windows\System32\KernelBase.dll'. Symbols loaded.
'tetris.exe' (Win32): Unloaded 'C:\Windows\System32\KernelBase.dll'
'tetris.exe' (Win32): Unloaded 'C:\Windows\System32\kernel32.dll'
The thread 0x3678 has exited with code -1073741502 (0xc0000142).
The program '[7708] tetris.exe' has exited with code -1073741502 (0xc0000142) 'DLL Initialization Failed'.

它显示我的应用程序已成功加载 kernal32.dll 和 KernalBase.dll,但 ntdll.dll 正在加载但未显示其已卸载。不完全确定这是否相关。非常感谢任何帮助!

最佳答案

错误 0xC0000142STATUS_DLL_INIT_FAILED 这可能是由于缺少依赖项 DLL 或依赖项中缺少函数导出(例如,由于具有不支持的意外 DLL 版本导出预期的功能)。

  • 尝试查看您的事件日志 (eventvwr.exe) 中是否有任何加载程序消息,这些消息可能会告诉您缺少或加载失败的依赖项。
  • 使用Dependencies用于分析应用程序依赖链以查找任何缺失的 DLL 或导出的工具。
  • 尝试使用 GFlags.exe 为您的 EXE 文件名启用“Loader Snaps”然后检查 Visual Studio 中的调试输出,了解有关 DLL 加载失败的指示。
  • 尝试使用 Process Monitor将过滤器设置为包含 DLL 的路径和与您的 EXE 文件名匹配的进程名称,以查看正在加载或试图加载哪些 DLL 文件并查找最后一个 NAME NOT FOUNDSUCCESS结尾。

关于c++ - 关于如何修复 Visual Studio 2019 中的 Dll 初始化错误的任何想法?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/61352248/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com