监控DLL和可执行文件之间的函数调用

更新 Nov 12, 2020

适用于

软件

  • LabWindows/CVI
  • LabVIEW

操作系统

  • Windows

问题详述

  • 我有一个可执行文件,可以对一个或多个动态链接库(DLL)进行函数调用。有没有办法确定我的可执行文件会进行哪些调用?
  • 我有一个主DLL,它可以调用辅助DLL。有没有一种方法可以跟踪主DLL对辅助DLL的调用?

解决方案

有一个名为Dependency Walker的实用程序,可以为上述两种情况提供解决方案。它扫描任何Windows模块(.exe,.dll,.ocx,.sys等),并构建所有相关模块的树形图,以及在每个模块中调用的功能列表。它捕获在运行时加载的所有依赖项类型,包括动态依赖项。

Dependency Walker的最新版本是2.2版,可以从dependencywalker.com下载此版本与Windows版本XP和7兼容。

对于Windows 10,您可以在下一个链接中找到名为Dependencies的工具的重建版本: [External]:Dependencies

从LabWindows / CVI 6.0开始,添加了“ 源代码浏览器”实用程序。它使您可以交叉引用项目中的每个函数和变量。