导航
  • 主页
  • VC综合技术
  • 互联网技术
  • MFC AppLauncher
  • .NET 技术
  • 界面
  • 进程
  • 算法
  • 硬件/系统
  • 数据库
  • VC++技术资源

关于NTDLL.DLL Initialization Failed

szwilfred 2009-07-24 11:33:51
我使用的是VC++6.0编程,得到一个工程后一开始debug运行没有问题,但过一会再试的时候(期间没有改任何代码),直接运行“!”没有反应,debug后就会出现下面的情况:
Unhandle exception in xx.exe(NTDLL.DLL):0xc0000142 :DLL Initialization Failed

请问各位 这个是什么问题啊?改怎么解决呢?
...全文
699 点赞 收藏 19
写回复
19 条回复
切换为时间正序
当前发帖距今超过3年,不再开放新的回复
发表回复
oyljerry 2009-07-27
[Quote=引用 17 楼 szwilfred 的回复:]
引用 15 楼 biweilun 的回复:
唯一的原因,你的LoadLibrary被Hook了后没有恢复回来。
可能是杀毒软件或是病毒所为

你看看Rundll32.exe调用加载一个DLL试试出错不?

调用了 但是没反应
另外我用regsvr32注册ntdll.dll出现的情况是:已加载NTDll,但没有找到dllregisterserver输入点
无法注册这个文件。这样的情况是正常的嘛?
[/Quote]
ntdll.dll又不是com组件,不是通过Regsvr32来注册
回复
szwilfred 2009-07-27
[Quote=引用 15 楼 biweilun 的回复:]
唯一的原因,你的LoadLibrary被Hook了后没有恢复回来。
可能是杀毒软件或是病毒所为

你看看Rundll32.exe调用加载一个DLL试试出错不?
[/Quote]
调用了 但是没反应
另外我用regsvr32注册ntdll.dll出现的情况是:已加载NTDll,但没有找到dllregisterserver输入点
无法注册这个文件。这样的情况是正常的嘛?
回复
szwilfred 2009-07-26
[Quote=引用 15 楼 biweilun 的回复:]
唯一的原因,你的LoadLibrary被Hook了后没有恢复回来。
可能是杀毒软件或是病毒所为

你看看Rundll32.exe调用加载一个DLL试试出错不?
[/Quote]
能具体说说怎么弄吗?我菜鸟 谢谢
回复
biweilun 2009-07-26
唯一的原因,你的LoadLibrary被Hook了后没有恢复回来。
可能是杀毒软件或是病毒所为

你看看Rundll32.exe调用加载一个DLL试试出错不?
回复
szwilfred 2009-07-25
[Quote=引用 13 楼 bitxinhai 的回复:]
可能是你的NTDLL.DLL坏了,到比较好的机器上考一个好用的NTDLL.DLL
放到指定的目录下,试试
[/Quote]
好像换起来很麻烦吧?而且在第一次编译运行的时候就不会出错啊,我刚才又重新弄了个工程,代码是一摸一样的,这个现在就可以运行。跟之前的情况一样,可能过段时间久又要出问题了。我真的不知道到底哪里出问题了。。。
回复
bitxinhai 2009-07-25
可能是你的NTDLL.DLL坏了,到比较好的机器上考一个好用的NTDLL.DLL
放到指定的目录下,试试
回复
szwilfred 2009-07-25
[Quote=引用 11 楼 oyljerry 的回复:]
引用 10 楼 szwilfred 的回复:
引用 8 楼 oyljerry 的回复:
检查依赖的dll是否正确,代码一开始,main就开始设置断点,调试一下

MFC工程断点设在c**App theApp处对吗?还是相同的情况啊。。

rebuild all所有的代码,然后再设置断点,调试看看
[/Quote]
还是不行啊。。。
回复
szwilfred 2009-07-24
[Quote=引用 3 楼 zzz3265 的回复:]
debug 跟 直接运行 比较明显的区别是权限的问题

可以在程序写日志的方法调试
[/Quote]

这个怎么弄啊?
回复
szwilfred 2009-07-24
rebuild all 后 编译过程没有问题 但一debug就还是出现相同问题

其他工程就不会出现这个问题
回复
Yofoo 2009-07-24
debug 跟 直接运行 比较明显的区别是权限的问题

可以在程序写日志的方法调试
回复
jyh_baoding 2009-07-24
你的系统有异常吗,可以REBUILD ALL试试
回复
快乐鹦鹉 2009-07-24
rebuild all试试
回复
oyljerry 2009-07-24
[Quote=引用 10 楼 szwilfred 的回复:]
引用 8 楼 oyljerry 的回复:
检查依赖的dll是否正确,代码一开始,main就开始设置断点,调试一下

MFC工程断点设在c**App theApp处对吗?还是相同的情况啊。。
[/Quote]
rebuild all所有的代码,然后再设置断点,调试看看
回复
szwilfred 2009-07-24
[Quote=引用 8 楼 oyljerry 的回复:]
检查依赖的dll是否正确,代码一开始,main就开始设置断点,调试一下
[/Quote]
MFC工程断点设在c**App theApp处对吗?还是相同的情况啊。。
回复
szwilfred 2009-07-24
[Quote=引用 7 楼 kesummer 的回复:]
检查你导入的DLL
[/Quote]
但是最开始的时候是可以运行的啊 那应该说明导入的DLL应该不会出错吧?
回复
oyljerry 2009-07-24
检查依赖的dll是否正确,代码一开始,main就开始设置断点,调试一下
回复
KeSummer 2009-07-24
检查你导入的DLL
回复
zoulie 2009-07-24
[Quote=引用 5 楼 szwilfred 的回复:]
引用 3 楼 zzz3265 的回复:
debug 跟 直接运行 比较明显的区别是权限的问题

可以在程序写日志的方法调试


这个怎么弄啊?
[/Quote]
在代码执行的地方写文件LOG,将执行的结果写进文件里
回复
发动态
发帖子
VC/MFC
创建于2007-09-28

1.5w+

社区成员

VC/MFC相关问题讨论
申请成为版主
社区公告

        VC/MFC社区版块或许是CSDN最“古老”的版块了,记忆之中,与CSDN的年龄几乎差不多。随着时间的推移,MFC技术渐渐的偏离了开发主流,若干年之后的今天,当我们面对着微软的这个经典之笔,内心充满着敬意,那些曾经的记忆,可以说代表着二十年前曾经的辉煌……
        向经典致敬,或许是老一代程序员内心里面难以释怀的感受。互联网大行其道的今天,我们期待着MFC技术能够恢复其曾经的辉煌,或许这个期待会永远成为一种“梦想”,或许一切皆有可能……
        我们希望这个版块可以很好的适配Web时代,期待更好的互联网技术能够使得MFC技术框架得以重现活力,……