OutputDebugString调试字符串输出及Delphi中调用显示最大字符长度限制为1024

本文介绍了OutputDebugString在Delphi XE2中遇到的1024字符长度限制问题,导致调试字符串显示不全。尽管可以通过DebugView捕获完整信息,但当在IDE中使用时,需要关闭调试器才能在DebugView中显示。提供了一个使用Format方法的技巧来过滤输出,并强调了OutputDebugString对Unicode和ASCII的支持。
摘要由CSDN通过智能技术生成

OutputDebugString 是很常用的调试函数, 其作用是将指定的调试字符串, 在运行时输出到特定的位置, 以便我们能获知程序执行的情况. 其 MSDN: http://msdn.microsoft.com/en-us/library/windows/apps/aa363362(v=vs.85).aspx

其中比较重要的两点:

1. Applications should send very minimal debug output...

2. OutputDebugStringW converts the specified string based on the current system locale information and passes it to OutputDebugStringA to be displayed. As a result, some Unicode characters may not be displayed correctly.

在DELPHI XE2中使用发现了如下的bug:(当然导致这个故障的本身不是OutputDebugString函数本身,而是DelphiXE2 IDE问题所致。)

      偶然发现WIN32 API函数 OutputDebugString调试字符串在Delphi XE2 控制台(Event Log)输出有1023字节长度限制。超出的部分显示不出来。如果用Debugview来接收就不会缺少字符。挺遗憾!

小技巧:
    OutputDebugStrin

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值