请教:关于内存申请的问题
Windows内核调试
请教:关于内存申请的问题
pch
2008-10-09, 12:39 下午
最近在读wrk内核代码,实时提取线程调度信息,现在用dbgprint向windbg输出数据,由于添加的dgbprint语句过多,使得系统运行很慢,可否有其它的方法?想在内核代码中申请一段内存,然后把所需信息保存在这里,然后用dbgprint集中输出,内核中如何申请内存空间?
Re: 请教:关于内存申请的问题
格蠹老雷
2008-10-09, 14:23 下午
Windows的ETW(Event Trace for Windows)正是基于这样的想法而设计的。因此,你可以使用ETW。
Re: 请教:关于内存申请的问题
Coding
2008-10-09, 22:40 下午
ETW很好很强大,用来做log的话,首选这个。
有时候为了debug目的,也可以用ExAllocatePool来分配一段内存保存一些中间数据。用Windbg很容易得去查看这些数据,记住地址就可以了。
Re: 请教:关于内存申请的问题
pch
2008-11-05, 17:02 下午
Raymond,你好!我想仔细研究下Event Trace for Windows,请问哪里能找到相关资料。
Re: 请教:关于内存申请的问题
格蠹老雷
2008-11-05, 18:10 下午
《软件调试》的第16章用一整章的篇幅做了介绍。如果你没有《软件调试》,那么SDK和DDK中有一些介绍。请查看如下这些关键字:OpenTrace,ProcessTrace,WPP等。
Re: 请教:关于内存申请的问题
Coding
2008-11-05, 19:05 下午
《软件调试》的一个参考书目也很不错 MS的文档 Getting Started with software Tracing in Windows Drivers
Re: 请教:关于内存申请的问题
pch
2008-11-06, 09:31 上午
非常感谢Raymond,Coding.软件调试的第16章,我正在看。哪里能找到关于etw的更多应用实例啊?
Re: 请教:关于内存申请的问题
格蠹老雷
2008-11-06, 12:20 下午
表16-5列出了十几个ETW工具/实例,P432给出了DDK中WPP的例子位置,P428中有SDK中例子程序的位置。