在使用 Visual Studio 进行调试时,我的应用程序在调用外部 DLL 时冻结。如何找到此 DLL 的路径?

While debugging with Visual Studio, my application freezes on an external DLL call. How can I find the path to this DLL?

我正在 Visual Studio 2017 调试 Windows 应用程序,因为我的 Azure Kinect 应用程序在使用 20-30 分钟后冻结。当我 "pause" 调试器并检查调用堆栈时,我可以看到主线程正在等待一个单独线程上发生的操作。第二个线程正在执行由 k4a.dll.

定义的方法

我的操作系统上有这个 dll 的三个版本,但我不确定我的应用程序使用的是哪一个。 有什么方法可以从 Visual Studio 中提取库 (dll) 的路径?

(注意:我 不是 寻找告诉我使用 PE-Explorer 或 Depends 等工具的答案。我希望这些信息来自 Visual Studio可能在其扫描路径中找到另一个库)

原来你只需要右键单击库名称上的 Call Stack window 和 select Go To Module.

将弹出一个新的 window,其中包含您的应用程序正在使用的所有库的路径...

模块 window 每个库的路径: