驱动器将在哪里“输出”?如果使用 printf?

发布于 2024-12-12 02:53:58 字数 115 浏览 0 评论 0原文

如果我要创建一个驱动程序,例如挂钩用于打开文件的 Windows 函数。如果在我的驱动程序中我告诉挂钩 printf("something"),当驱动程序打开并且我打开一个文件时, printf 会将文本显示到哪里?

If I were to create a driver, which, say hooks the windows function for opening a file. If in my driver I told the hook to printf("something"), when the driver is switched on and I opened a file, where would printf display the text to?

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(3

云淡风轻 2024-12-19 02:53:58

如果要从驱动程序输出文本用于调试和实验目的,请使用 DbgPrintEx。可以通过 Sysinternals DebugView 或调试器查看输出。

If you want to output text from a driver for debugging and experimental purposes, use DbgPrintEx. The output can be viewed via Sysinternals DebugView or a debugger.

戴着白色围巾的女孩 2024-12-19 02:53:58

printf 被写入 stdio.h 中声明的流 stdout。当您第一次接触标准流 stdin、stdout、stderr 之一时,它会打开。标准流 stdin、stdout 和 stderr 是调用 stdio 库函数的宏,该函数打开流并返回这些流的数组。宏定义对数组进行索引以获取正确的流。如果应用程序没有控制台,则输出将转到“空”设备。

printf is written to the stream stdout which is declared in stdio.h. It is opened the first time you touch one of the standard streams stdin, stdout, stderr. The standard streams stdin, stdout, and stderr are macros that call a stdio library function which opens the streams and returns an array those streams. The macro definitions index the array to get the right stream out. If the application has no console, the output goes to the "null" device.

春风十里 2024-12-19 02:53:58

查看驱动程序的调试输出(使用调试配置编译)

您可以使用 DbgView
或 Microsoft 网站上提供的 WinDbg 实用程序

也可以提供打印语句,您可以使用 wdm.h

DbgPrint(...)

DbgPrintEx(...)中定义的以下函数

You can view the debug output of your driver (compiled with debug config)

using DbgView
or WinDbg utility available on microsofts website

also to give print statements you could use following functions defined in wdm.h

DbgPrint(...)

DbgPrintEx(...)

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文