我想在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代码的工具或虚拟回显驱动程序,它会将我的自定义消息记录在内核日志中。
在一行中,我想从用户空间应用程序向内核日志编写自定义消息。
答案 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