我的程序使用LoadLibrary动态加载一些DLL,并且(在字面上所有机器上)这些加载成功,在一台机器上,这些DLL中的一些不会被加载。我添加了代码来跟踪lasterror,并报告“0x43无法找到网络名称。”。
有问题的机器运行的是Windows 7 Enterprise x64,DLL是32位DLL,这应该不是问题,而且(实际上)这是我的开发环境。
我也尝试将DLL的名称(包括路径)转换为短文件名,并在调用LoadLibrary时使用它,我仍然遇到同样的错误。
有什么想法吗?
// * eggbox
答案 0 :(得分:2)
下载Procmon让它运行并过滤您的dll名称。这将立即为您提供搜索dll的位置以及返回0x43的访问路径。
如果您的代码也有pdbs(C / C ++只有托管代码),您甚至可以获得调用堆栈。
答案 1 :(得分:0)
在个人资料模式下通过Dependency Walker运行程序,让这个好工具准确地告诉你出了什么问题。