使用OutputDebugString做调试输出

     昨天发现服务器通讯并发有问题,所以希望在通讯层增加写调试信息输出来看看。当时首先想到的是用一般经常使用的Codesite,但把调试代码增加到通讯单元后,编译居然跑不起来了,一跟踪才发现,原来是Codesite居然报地址错误了,再仔细一看。。。我的妈啊。。。Codesite对象居然是nil,本来这个对象应该是在csintf单元初始化时做的啊,以前用也好好的,怎么这次居然会无法初始化Codesite对象呢????太奇怪了,结果大半个下午都去研究这该死的Codesite了。。。无果。。。。

     早上起来,神清气爽。。。突然想到用老早以前用过的一个函数OutputDebugString,这个是在Windows单元中的WIN32API函数,绿色环保,无污染,不残留。在调试状态下,用各种调试器可以捕捉程序中的 OutputDebugString 输出的信息。其实 OutputDebugString 就是往一片共享影射的内存中写入了一段数据,并创建了两个 Enevt,指明数据写入事件被触发。在delphi的OutputDebugString 输出的信息会在Event log窗口可以显示,如果是调试环境外运行,还可以用Debugview,AQTime等调试工具查看输出的信息。如果是使用Debugview这工具,还可以远程查看输出信息,这样就可以非常方便地捕捉和处理代码中调试信息的输出,实乃开发者居家旅行、杀人灭口,必备良药啊……简直爽歪歪~~~~~下午再次去测试部门调试服务器的通讯层,果然为最后成功找到原因立下了汗马功劳 ~~~下定了决心,以后抛弃Codesite,重新回到OutputDebugString的怀抱,而且考虑在合适的时候,把OutputDebugString能有机的结合到平台的

  • 0
    点赞
  • 5
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值