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