如何找出依赖于LIB文件的DLL列表?
How to find out the list of DLLs dependent on a LIB file?
由于我的项目非常庞大,因此在调试时,我手动禁用了Visual Studio中所有模块的加载,然后仅启用那些必须调试的DLL。这按预期工作。
但是,由于Visual Studio中的模块列表不包含LIB文件,因此如何调试特定静态库中的代码?
是否有选项可以查看链接到库文件(.lib(的 DLL 列表?
静态库不与任何内容链接。它只是一袋 提供给链接器的对象文件,从中选取 它需要定义程序中的外部符号。 它从静态库中提取所需的对象文件 并将它们嵌入到您的程序中。
因此,假设abc.lib
包含a.obj
、b.obj
、c.obj
的目标文件。通过链接main.obj
和abc.lib
来构建程序prog
。main.obj
需要a.obj
中定义的东西加上c.obj
中定义的东西,但b.obj
中没有定义。然后prog
就像你简单地链接了三个目标文件main.obj
、a.obj
、c.obj
而根本没有提到abc.lib
一样。
现在a.obj
或c.obj
可以调用外部定义的函数 一个或多个 DLL。也许main.obj
调用外部函数 在相同或其他 DLL 中定义。prog
必须与 那些 DLL - 不多也不少。main.obj
的 DLL 依赖项 +a.obj
+c.obj
是prog
的 DLL 依赖项,反之亦然。 没有任何通过链接abc.lib
而不是a.obj
和c.obj
来隐藏的。
作为测试,我要做的是使用静态库创建一个虚拟 dll,然后使用依赖 walker(或使用 vs 链接过程(查看 dll 并找到链接的 dll。
相关文章:
- 挂起和取消挂起一个文件DLL
- Pybind11:将元组列表从Python传递到C++
- 从链接列表c++中删除一个项目
- 如何(从固定列表中)选择一个数字序列,该序列将与目标数字相加
- C++如何通过用户输入删除列表元素
- 读取文件的最后一行并输入到链接列表时出错
- 复制列表初始化的隐式转换的等级是多少
- std::threads可以从Windows DLL中的全局变量创建/销毁吗?
- 从非托管 C# DLL 返回列表/数组
- 在 DLL 中嵌入 Python:Py_DECREF列表对象时访问冲突读取位置
- 如何找出依赖于LIB文件的DLL列表?
- 我应该如何分享该过程和多个DLL之间的功能列表
- 从 Mono Assembly.dll 中获取所有类型/类的列表C++
- 从我的c++应用程序调用c#dll(解析XML文件),将数组/列表返回给c++
- 将结构的列表从C#应用程序传递到C++DLL
- WinDbg 表示在映像列表中找不到".dll"
- 获取DLL中定义的函数列表
- 如何使用ctypes将python列表传递给C函数(dll)
- DLL从模块列表中丢失在VS2010
- 如何将在C#列表中创建的对象的地址传递到C++dll