相当于windows上的/ dev / kmsg?

时间:2012-10-05 12:37:30

标签: c logging windbg windows-kernel

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

在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代码的工具或虚拟回显驱动程序,它会将我的自定义消息记录在内核日志中。

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

1 个答案:

答案 0 :(得分: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