【软件开发】关于Rundll32.exe调试动态库(.dll)时提示“找不到指定的模块”的解决方案

在程序开发中,经常要进行调试。在普通的exe程序调试中,有输出窗口一般问题不大。动态库(DLL)的调试,就稍显曲折。

在Windows中调试DLL,可以借助Rundll32.exe程序。关于如何用rundll32调试DLL,网上资料很多,这里就不再描述。

现在,我们要解决的问题是调试时出现“找不到指定模块”异常该怎么去解决?

“找不到指定模块”?到底是缺什么模块?我们可以借助分析DLL中API的工具(如Dependency Walker),来看看要调试的动态库引用了哪些其他的动态库。


假如,我们要调试的动态库是SFNHK.DLL那么它需要两个其他动态库的支持:WINMM.DLL 和 KERNEL32.DLL。如果其中任何一个DLL不在SFNHK.DLL可连接范围内时,就会出现“找不到指定模块”的异常。

解决方法:把相关联但不在可连接范围内的动态库都复制到当前调试动态库的同一路径下,再重新调试,就可以完美解决上面的异常了。

  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值