当前位置:首页 » 软件开发
开发技术指南» 文章正文
    引言: 北京2865信箱160分箱 冉林仓 1.引言: 在调试程序的时候,我们经常使用日志文件记录调试文件的运行结果,跟踪程序运行的流程。
 

 

    摘要:郎锐 频谱分析是电子工程上一个非常重要的分析手段,许多计算机辅助电路分析(caa)类软件都具备这种分析能力,以便电子工程师能清楚地看到某波形的频谱分布情况。要对一个输入信号源作频谱分析,将其由时域信号转变为频域信号,就必然要用到傅立叶变换。这样,无论是在时域还是在频域,都要对连续函数进行积分运算。很显然,要通过计算机实现这种变换就需要预先通过抽样将原始的连续数据转变为离散数据,并将计算范围收缩到......
    摘要:网上已经有许多地方提到了如何将在任务栏隐藏应用程序,使用的方法都是将application的属性变为ws_ex_toolwindow。即在winmain函数中加入如下代码: dword dwexstyle = getwindowlong(application->handle, gwl_exstyle); dwexstyle |= ws_ex_toolwindow; setwindo......


利用logger.vxd记录VXD文件输出
北京2865信箱160分箱 冉林仓

1.引言:   【程序编程相关:在MFC类中各种类的指针的获取和应用

【推荐阅读:创建SvcHost.exe调用的服务原理

在调试用户态应用程序的时候,特别是那些与com.外壳.钩子函数打交道的动态链接库的时候,程序员习惯使用writeprivateprofilestring函数或者writeprivateprofileint函数,把程序运行的反馈信息记录到一个文本文件中;在调试wdm驱动程序的时候,编程人员也可以通过下列函数(zwcreatefile.zwwritefile与zwclose)找到替代方案.这些生成的日志文件,给程序的调试人员带来了极大的方便.然而,在编写vxd程序的时候,麻烦出现了,系统提供的vxd服务好像没有一个能够把日志信息输出到文件中,即便vtoolsd提供了一些文件io函数(比如:i_open.i_close.i_write等等),这些函数也只能在vxd初始化阶段才能被调用.一旦init_complete 消息被发送之后,这些函数将不能调用.文件系统钩子服务的确可以解决这个问题,但是其烦琐的编程让驱动开发人员望而却步.这样,我们每次调试vxd程序的时候都不得不启动一个调试器来观察vxd输出结果,这对我们驱动程序编程人员可以说是非常的不便. 【扩展信息:Windows中线程的基础知识和简单应用

在调试程序的时候,我们经常使用日志文件记录调试文件的运行结果,跟踪程序运行的流程.通过这个文件,即便在调试过程中间系统崩溃,我们也能够从生成的日志文件中发现些可用信息.有的时候,这个日志文件的作用并不亚于一个调试器.

其实win 95与win 98 系统都提供了一个名叫logger.vxd的文件,顾名思义,我们可以知道这个文件是生成日志记录文件用的.遗憾的是,在微软提供的ddk文档中,对这个vxd提供的服务只字不提,本文正是在借鉴文献(1)的基础上的对这个vxd的输出服务进行说明,以便任何一个vxd的编程人员都能使用logger.vxd记录程序输出.

2.实现的原理:

a).在vxd中调用vxd

就像ring3 的dll以一个标准的方式供exe与dll使用其输出函数一样,vxd中的函数也可以被其它的vxd按某种方式调用,当生成vxd时,所有可以被其它vxd调用的函数都被列在一个数组中,每个这样的函数也称作一个服务(service).
...   下一页
 ·vc++实现文件间批量转换功能    »显示摘要«
    摘要:  一、前言   本人在开发惠普色谱工作站增强软件的过程中,实现了把指定目录下的色谱数据文件全部转换成纯文本文件的功能。下面,通过用一个具体的例子来说明此功能的实现方法。   全部代码用visual c++6.0在windows95/98/2000下编译通过。   二、实例   首先用mfc appwizard生成一个sdi风格的应用程序test,生成过程中全部使用缺省设置。   其次,......
» 本期热门文章:

©2000-2007 All Rights Reserved. 最佳浏览:1024X768 MSIE