c++ - 跟踪 native 调用

标签 c++ winapi

这是与 Win32 相关的问题,所有代码都是原生的。

我将 3 层编译为相互依赖的 dll 库:

[模块 1] -> [模块 2] -> [模块 3] -> [我的模块 4]

模块 1 是加载模块 2 的应用程序。模块 2 加载模块 3。模块 3 加载我的模块 4。

每当从模块 1 发出调用时,它都会经过所有层直至模块 4。

在模块 4 中,我想以某种方式跟踪它是由模块 3 从模块 2 从模块 1 调用的,例如获取每个模块的 HMOUDLE 句柄或任何其他唯一标识它们的句柄。我想不出有任何 Win32 API 允许我执行这样的跟踪,你能建议一下吗?

最佳答案

您应该能够使用 StackWalk64连同 SymFromAddrSTACKFRAME64的相关地址上感兴趣的结构。不完全是你想要的,但想不出任何其他方式来接近。

关于c++ - 跟踪 native 调用,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/10455248/

相关文章:

c++ - 在最小堆中找到最小元素的时间复杂度是多少?

c++ - NtDeviceIoControlFile(查询 IP 地址条目)- STATUS_INVALID_DEVICE_REQUEST

c# - 应用程序图标

windows - 文件大小 - 磁盘上实际使用的字节数(未分配)

c++ - 运行 C++ 应用程序时摆脱黑色控制台窗口

c++ - Microsoft 对象,Release() 函数返回值?

c++ - 用于获取范围的第 n 个元素的 Boost.Range 算法

c - 每次调用都会有不同的结果

c++ - 使用 Mat::at 遍历图像时崩溃

c++ - (int&&)5 是整数常量表达式吗?