阅读:6828回复:9
新手问题,KdPrint 打印的内容没有在 DebugView 中显示?
如题: KdPrint 打印的内容没有在 DebugView 中显示?
1、我在网上查的资料是:KdPrint 会在 DebugVIew 中显示。如果不是,那是显示在哪里? 2、我是用“Checked Build Environment”模式编译的 .cpp 文件如下,请各位帮我看下。只是一个驱动的简单框架. extern "C" { #include <ntddk.h> } typedef struct _DEVICE_EXTENSION { PDEVICE_OBJECT fdo; PDEVICE_OBJECT NextStackDevice; UNICODE_STRING ifSymLinkName; } DEVICE_EXTENSION, *PDEVICE_EXTENSION; extern "C" NTSTATUS addDevice(IN PDRIVER_OBJECT DriverObject, IN PDEVICE_OBJECT PhysicalDeviceObject) { KdPrint(("test!addDevice")); NTSTATUS status; PDEVICE_OBJECT fdo; status = IoCreateDevice(DriverObject, sizeof(DEVICE_EXTENSION), NULL, FILE_DEVICE_UNKNOWN, 0, FALSE, &fdo); if( !NT_SUCCESS(status) ) return status; PDEVICE_EXTENSION dx = (PDEVICE_EXTENSION)fdo->DeviceExtension; dx->fdo = fdo; dx->NextStackDevice = IoAttachDeviceToDeviceStack(fdo, PhysicalDeviceObject); fdo->Flags |= DO_BUFFERED_IO | DO_POWER_PAGABLE; fdo->Flags &= ~DO_DEVICE_INITIALIZING; return STATUS_SUCCESS; } extern "C" NTSTATUS Pnp(IN PDEVICE_OBJECT DriverObject, IN PIRP Irp) { KdPrint(("test!Pnp")); PDEVICE_EXTENSION dx = (PDEVICE_EXTENSION)DriverObject->DeviceExtension; PIO_STACK_LOCATION IrpStack = IoGetCurrentIrpStackLocation(Irp); ULONG MinorFunction = IrpStack->MinorFunction; IoSkipCurrentIrpStackLocation(Irp); NTSTATUS status = IoCallDriver( dx->NextStackDevice, Irp ); if( MinorFunction == IRP_MN_REMOVE_DEVICE ) { IoSetDeviceInterfaceState(&dx->ifSymLinkName, FALSE); RtlFreeUnicodeString(&dx->ifSymLinkName); if( dx->NextStackDevice ) IoDetachDevice(dx->NextStackDevice); IoDeleteDevice(DriverObject); } return STATUS_SUCCESS; } extern "C" NTSTATUS DriverEntry(IN PDRIVER_OBJECT DriverObject, IN PUNICODE_STRING RegistryPath) { KdPrint(("test!DriverEntry")); DriverObject->DriverExtension->AddDevice = addDevice; DriverObject->MajorFunction[IRP_MJ_PNP] = Pnp; return STATUS_SUCCESS; } |
|
沙发#
发布于:2008-06-19 09:51
引用第1楼hyy301于2008-06-18 19:07发表的 : 楼上的,我是通过控制面板的增加新硬功件,然后选择INF来安装的,而且成显示安装成功,能够在设备管理器看到相关的设备,就是调试信息不显示。 另外,DebugView 的 Capture 下面能打勾都打勾了。 |
|
板凳#
发布于:2008-06-24 16:59
引用第4楼hyy301于2008-06-20 08:07发表的 : 这样试过,它就是没有显示出来 引用第5楼petsatan于2008-06-22 14:27发表的 : 这个我知道,我在装驱动之前就已经打开 DebugView 了 我在怀疑是不是 1、sys 的问题 ------------- 有谁可以编译一个 sys && .inf 文件让我试下 2、inf的问题 3、安装驱动的问题 ------------ 我是通过控制面板的增加硬件..... 来安装的 |
|
地板#
发布于:2008-06-25 10:10
|
|