RtlCaptureStackBackTrace未捕获任何帧
RtlCaptureStackBackTrace is capturing no frame
本文关键字:任何帧 RtlCaptureStackBackTrace 更新时间:2023-10-16
我在内核模式驱动程序中使用RtlCaptureStackBackTrace,并试图获取调用跟踪,但它捕获了零帧。代码为:
PVOID *stackTrace = NULL;
PULONG traceHash = NULL;
USHORT capturedFrames = 0;
capturedFrames = RtlCaptureStackBackTrace(0, 10, stackTrace, traceHash);
当我检查stacktrace时,它是NULL。
您提供stackTrace
作为NULL
,但根据文档:
调用方分配的数组,其中指向返回地址的指针返回从当前堆栈跟踪捕获的。
这意味着您需要为BackTrace
参数分配一个数组。
例如:
#define ARRAY_SIZE 10
PVOID stackTrace[ARRAY_SIZE] = {0};
USHORT capturedFrames = 0;
capturedFrames = RtlCaptureStackBackTrace(0, ARRAY_SIZE, stackTrace, NULL);
注意:不要在生产代码中使用它,最好使用ExAllocatePoolWithTag()
(进行动态分配
另请查看此Microsoft示例
相关文章:
- 如果C++类在类方法中具有动态分配,但没有构造函数/析构函数或任何非静态成员,那么它仍然是POD类型吗
- 从udp接收帧对于人脸识别来说太慢
- 奇怪的(对我来说)返回声明 - 在谷歌上找不到任何关于它的信息
- 如何在不产生任何垃圾的情况下获得C中的像素
- 为什么我不能在 C++ 中的特定函数重载中调用同一函数的任何其他重载?
- 如何在c++中录制具有精确帧时间戳的视频
- C++映射有2个键,这样任何1个键都可以用来获取值
- Visual Studio(或任何其他工具)能否将地址解释为调用堆栈(boost上下文)的开头
- RtlCaptureStackBackTrace未捕获任何帧
- 如何访问RTCVideoRenderer的帧?(ios)
- 链表c++插入,所有情况都已检查,但没有任何工作
- C++模板函数,用于比较任何无符号整数和有符号整数
- gdb错误:Backtrace已停止:上一帧与此帧相同(堆栈已损坏?)
- OpenCV 4.1.2 - 从网络摄像头获取帧并将其拆分
- Arduino millis() - millis() 怎么能等于 0 以外的任何东西?
- 如何使用 OpenCV 以固定帧速率 (fps) 播放任何视频
- 不保存任何图像。保存视频帧时
- c++和VS2010-没有为任何调用堆栈帧加载符号.无法显示源代码
- 没有为任何调用堆栈帧加载符号.无法显示源代码
- 如何保存视频的任何帧