2

我想从批处理文件或 cmd 提示符向 Windows 内核日志添加自定义行。

在linux中,我会通过写入/dev/kmsg文件来做到这一点。dmesg通过或可以看到写入该文件的任何内容/var/log/messages
例如echo Hello world > /dev/kmsg

我想要一些非常相似的 Windows 端。

log_to_kernel.exe "my message"如果有类似, 而不是重定向到设备文件的解决方案,我也可以。我认为,Windows 中没有设备“文件”的概念。

要求的原因:
我正在尝试调试驱动程序中的一些问题,为此我正在运行一些测试程序,该程序在内部调用 Windows 中的驱动程序。
如果驱动程序失败,我将能够看到附加在 1394 上的内核 windbg 中的调试消息。内核调试器将遇到断点/断言,我将无法检查目标系统上的迭代次数,直到我继续来自windbg。
因此,我需要在内核日志本身中记录时间和测试迭代次数,我计划通过运行自动化测试的批处理文件来完成。

因此,我需要一些带有 C 代码的工具或虚拟回显驱动程序,它将我的自定义消息记录在内核日志中。

在一行中,我想从用户空间应用程序向内核日志写入一条自定义消息。

4

1 回答 1

4

DbgPrintEx如果您正在编写驱动程序,您应该使用函数来编写日志条目,

http://msdn.microsoft.com/en-us/library/windows/hardware/ff543634(v=vs.85).aspx

然后调试器应该能够显示它。

如果你的应用是用户态,OutputDebugString是最简单的,

http://msdn.microsoft.com/en-us/library/windows/desktop/aa363362(v=vs.85).aspx

您还可以阅读有关事件跟踪的信息,

http://msdn.microsoft.com/en-us/library/windows/desktop/bb968803(v=vs.85).aspx

于 2012-10-05T13:07:33.660 回答