简单问题 什么函数能从vc6的 debug窗口打印数据? 简单问题 什么函数能从vc6的 debug窗口打印数据? 解决方案 » 免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货 回答过一次了,是TRACE。 1、基本概念 跟踪语句(trace statements)可使程序执行,并使程序员可对可变值进行查看。它们提供了一个用于观察的程序,并且独立于一个交互式的调试器,但是最具有特色的是它们常用于对调试器提供的信息进行补充。在VC中,跟踪消息通常输出到输出窗口中的Debug标签,也可以重新输出到一个文件中。跟踪语句的特性如下: .跟踪语句用于报告代码中重要的运行事件。 .跟踪语句的编译通常是有条件的,并只存在于调试版本中,而在发布版本中不被编译。 .跟踪语句不能包含程序代码或对程序代码有间接的影响作用。 .跟踪语句的目的是向程序员提供信息,而不是向用户。 跟踪语句也是调试语句,它可以执行程序,并且在运行中程序员可以查看变量。跟踪语句对于那些使用交互式调试器很难调试的程序是很有效的。 跟踪语句和断言的区别如下: .跟踪语句是无条件的,断言是有条件的布尔语句。 .跟踪语句用于显示程序执行和变量值,不直接显示bug,断言用于显示出bug。 .跟踪语句将信息输出到调试窗口或文件中,可被随意地忽略,断言打断程序的执行。2、MFC中的跟踪语句 在MFC中,你可以使用TRACE和AfxOutputDebugString宏、CObject::Dump虚拟函数和AfxDumpStack函数。TRACE宏由AfxDump实现,AfxDump由AfxOutputDebugString实现。AfxOutputDebugString宏和AfxDumpStack函数可以在所有版本中编译,其他只能在调试版本中编译。 (1)TRACE宏有以下形式: _TRACE(reportType,format); _TRACE0(reportType,format,arg1); _TRACE1(reportType,format,arg1,arg2); _TRACE2(reportType,format,arg1,arg2,arg3); _TRACE3(reportType,format,arg1,arg2,arg3,arg4); 在MFC中,推荐使用TRACEn宏,当使用TRACE宏时需要使用_T宏来格式化参数以正确解决Unicode的校正,而TRACEn不需要。 MFC TRACE宏中的一个缺点是AfxTrace函数使用一个512字符固定大小的缓冲区,这使得它在跟踪长字符串时是无用的。 (2)CObject::Dump CObject类有一个转储(dump)虚拟函数,所有继承CObject的类都可以通过重载这个函数,输出它们的值。3、Visual C++消息Pragma 消息Pragma实际上是一个编译时的跟踪语句,你可以使用它来警告在预处理过程中发现的潜在的编连(build)问题。典型的例子: #if (WINVER>=0x0500) #pragma message (“NOTE:WINVER has been defined as 0x0500 or greater.”) #endif 消息Pragma是非常有用的,尤其是在复杂编连中。然而,如果你要检测一种特定的问题,而不是潜在的问题,使用#error预处理来代替打断编译会更直接一些。 每当你的程序中有错误而你想得到更多信息的时候,你应该去查看一下跟踪消息。由于VC输出窗口的缓冲区是有大小限制的,因此如果跟踪消息数据产生的速度超过输出窗口处理的速度,那么消息会塞满缓冲区,导致数据丢失。避免这个问题的简单方法是在输出大量数据的代码段如转储对象时,调用Sleep API函数。 如何将文字信息生成位图(等答案结贴) 怎样在单文档中接收字符输入,文档的视类视从CView类派生? 有没朋友使用过winrar的unrar.dll库? CFile读取二进制文件,CListCtrl进行显示,出问题了 MFC中怎么获取EXCEL中某行某列的数据 请老手指教VC网络编程学习。。 急,在线等!如何定位光标在CRichEditCtrl中的行和列? windows操作系统的相关书籍----什么时候看最合适? 没有界面的ocx的调用?? 编译的问题,help~~~~~~~~~~~高分 简单问题 什么函数能从debug窗口打印数据? 结贴后感觉不爽,开第二贴再论 金山毒霸的在线测试网络速度功能
解决方案 »
免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货