0

My program dynamically loads a number of DLL's using LoadLibrary and (on literally all machines) these load successfully, on one machine some of these DLL's do not get loaded. I added code to trace lasterror and this reports "0x43 The network name cannot be found.".

The machine in question is running Windows 7 Enterprise x64, the DLL is a 32 bit DLL, this shouldn't be an issue and (in fact) this is my development environment.

I also tried converting the name of the DLL (which includes the path) to a short filename and used that in the call to LoadLibrary, I still got the same error.

Any ideas?

//*eggbox

4

2 回答 2

2

下载Procmon让它运行并过滤你的 dll 名称。这将立即为您提供搜索 dll 的位置以及返回 0x43 的访问路径。

如果您的代码也有 pdb(只有 C/C++ 没有托管代码),您甚至可以获得调用堆栈。

于 2012-05-10T20:15:44.070 回答
0

通过Dependency Walker在其 Profile 模式下运行程序,并让该精细工具准确地告诉您出了什么问题。

于 2012-05-10T20:18:02.643 回答