博客分类:
朋友调试一个Filter驱动程序,但终究无法在Debugview中打印出调试信息。
#if DBG
extern INT
filterDebugL
#define DEBUGP(lev, stmt)
if ((lev) &= filterDebugLevel)
DbgPrint("NDISLWF: "); DbgP
#define DEBUGPDUMP(lev, pBuf, Len)
if ((lev) &= filterDebugLevel)
DbgPrintHexDump((PUCHAR)(pBuf), (ULONG)(Len));
#define FILTER_ASSERT(exp)
if (!(exp))
DbgPrint("Filter: assert " #exp " failed in"
" file %s, line %d\n", __FILE__, __LINE__);
DbgBreakPoint();
#endif //endDBG
要打印的东西其实很简单比如:
DEBUGP(DL_TRACE,("===&DriverEntry...\n"));
她以为总自己dbgprint()函数用错了,或者这个定义的宏有问题,估计是没有看清这个宏的定义,没有看清楚打印调试信息的条件,里面定义了debuglevel,这个值必须小于等于某个值的时候才打印出来,所以如果你在成功调试程序之后,可能不希望再打印出用于跟踪调试的信息,那么可能会把调试等级debuglevel的值调高。默认的调试等级定义如下:
//
// Message verbosity: lower values indicate higher urgency
#define DL_EXTRA_LOUD
#define DL_VERY_LOUD
#define DL_LOUD
#define DL_INFO
#define DL_TRACE
#define DL_WARN
#define DL_ERROR
#define DL_FATAL
0
之所以没有打印出来是因为debuglevel的值为:
INT
filterDebugLevel = DL_WARN;
这下才恍然大悟~【DL_TRACE & DL_WARN】微软的代码其实这样写很方便,比如你需要自己在增添某些自己增加的调试信息,而不希望看见其他的原来的调试信息,就可以自己定义一个debuglevel值。然后在DEBUG宏里面做好选择判断就可以了。
浏览: 777690 次
来自: 珠海
Yunjey 写道这样子的话、grid中的editable如何 ...
这样子的话、grid中的editable如何设置啊?!
写的很好~~
此文真棒!感谢一路风尘的奉献!
但我有一疑 ...
求完整demo
(window.slotbydup=window.slotbydup || []).push({
id: '4773203',
container: s,
size: '200,200',
display: 'inlay-fix'Win7X64下设置DebugView打印输出 - CSDN博客
Win7X64下设置DebugView打印输出
/wesley0312/item/e8fabe3785daa51
1) 导入注册表文件,&显示kdprint调试信息
Windows Registry Editor Version 5.00
[HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\Session Manager\Debug Print Filter]
&DEFAULT&=dword:0000000f
2)开启本机调试
cmd中执行“bcdedit&-debug&on”,然后重启即可。
本文已收录于以下专栏:
相关文章推荐
这问题以前也遇到过, 急人啊, 不过那时是靠打文件日志解决的问题.
今天让我找到***~
原来是旧版的DebugView不支持X64程序中OutPutDebugString打印出的信息......
1、下载win 64位的DOSBox,如DOSBox0.74;
2、下载win 32 debug.exe,并复制到调用的目录,如d盘根目录d:\
3、***DOSBox,并运行;如下图:
在Win7中开程序的人来说,也许会发现DebugView在Win7中无法查看OutputDebugString所抛出的消息,
这对像Timer或者是连续发生的(Event)事件(比如:OnPaint...
Win7以上系统通过Dbgview打印驱动日志。
在Win7下默认DbgPrint输出信息后,使用DbgView看不到内容。
新建一个reg文件,双击导出就行了。
Windows Registry Editor Version ...
在Win7下默认DbgPrint输出信息后,使用DbgView看不到内容。新建一个reg文件,双击导出就行了。 Windows Registry Editor Version 5.00[HKEY_LO...
默认情况下 Win7 系统使用 DebugView 无法查看到我们在驱动或者应用程序中打印的信息,如 OutputDebugString,KdPrint 等函数的输出。这需要在注册表中单独的设置使其可...
DebugView是大家常用的查看内核打印输出的工具之一。
最近因为调试系统变成了win7,使得DebugView无法查看内核打印,只能查看上层输出。
在网上搜索了有关的配置信息,归结为两种方法:...
OutPutDebugString(TEXT(&在调试器里输出的类容&));
#define MAXDUGBUFF 20
#define OutError(ErrorEvent)
开发程序调试时不可避免的,一起在资源里面我放过一个“trace.h”的一个文件,可以自动建立窗口显示调试信息,但是这个程序在高速执行的时候,调试界面容易崩溃。
当然,写log日志,只最常见的调试方...
他的最新文章
讲师:王禹华
讲师:宋宝华
您举报文章:
举报原因:
原文地址:
原因补充:
(最多只允许输入30个字)