Any ideas on how to fix a Dll Initialization Error in Visual Studio 2019?(对如何修复Visual Studio 2019中的DLL初始化错误有什么想法吗?)
本文介绍了对如何修复Visual Studio 2019中的DLL初始化错误有什么想法吗?的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!
问题描述
是编码新手,当我在C++控制台应用程序上工作时,突然无法打开该应用程序进行调试。它只是弹出并显示"应用程序无法正确启动(0xc0000142)"。Visual Studio上也没有错误/警告代码。在过去的一个小时里,我尝试了各种不同的解决方案,我在论坛之类的地方读到过。完全更新Windows,更新NVIDIA驱动程序,更改regedit中的值,检查防火墙等。我唯一能想到的就是运行SFC,可能还需要重新安装Windows(这是我不想做的)。关闭弹出窗口后,在visual studio的输出中,它显示这是由于"DLL初始化"失败造成的。'tetris.exe' (Win32): Loaded 'C:WindowsSystem32
tdll.dll'. Symbols loaded.
'tetris.exe' (Win32): Loaded 'C:WindowsSystem32kernel32.dll'. Symbols loaded.
'tetris.exe' (Win32): Loaded 'C:WindowsSystem32KernelBase.dll'. Symbols loaded.
'tetris.exe' (Win32): Unloaded 'C:WindowsSystem32KernelBase.dll'
'tetris.exe' (Win32): Unloaded 'C:WindowsSystem32kernel32.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正在加载,但没有显示已卸载。不过,我不能完全确定这是否相关。如有任何帮助,我们将不胜感激!
推荐答案
错误0xC0000142为STATUS_DLL_INIT_FAILED,可能来自缺少依赖项dll或依赖项中缺少函数导出(例如,由于具有未导出预期函数的意外dll版本)。
- 尝试在您的事件日志(
eventvwr.exe)中查找任何可能告诉您缺少或加载失败的依赖项的加载程序消息。 - 使用Dependencies工具分析应用程序的依赖关系链,以查找任何丢失的DLL或导出。
- 尝试使用GFlags.exe为您的EXE文件名启用"加载器快照",然后检查Visual Studio中的调试输出,以了解有关哪些DLL加载失败的指示。
- 尝试使用Process Monitor,并将过滤设置为包含
DLL的路径和与您的EXE文件名匹配的进程名,以查看正在加载或尝试加载哪些dll文件,并查找以SUCCESS结尾的最后NAME NOT FOUND链NOT。
这篇关于对如何修复Visual Studio 2019中的DLL初始化错误有什么想法吗?的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持编程学习网!
织梦狗教程
本文标题为:对如何修复Visual Studio 2019中的DLL初始化错误有什么想法吗?
基础教程推荐
猜你喜欢
- 非静态 const 成员,不能使用默认赋值运算符 2022-10-09
- CString 到 char* 2021-01-01
- 为什么 typeid.name() 使用 GCC 返回奇怪的字符以及如 2022-09-16
- 为什么派生模板类不能访问基模板类的标识符? 2021-01-01
- GDB 显示调用堆栈上函数地址的当前编译二进制文 2022-09-05
- 如果我为无符号变量分配负值会发生什么? 2022-01-01
- 为什么 RegOpenKeyEx() 在 Vista 64 位上返回错误代码 2021-01-01
- 通过引用传递 C++ 迭代器有什么问题? 2022-01-01
- 初始化列表*参数*评估顺序 2021-01-01
- 我应该对 C++ 中的成员变量和函数参数使用相同的名称吗? 2021-01-01
