The use method of afxDump and TRACE

来源:互联网 发布:华为交换机给端口命名 编辑:程序博客网 时间:2024/06/02 16:32
 

#ifdef_DEBUG
afxDump<<"DumpingmyPerson:/n";
myPerson->Dump(afxDump);
afxDump<<"/n";
#endif

1TRACE();/TRACE0();/TRACE1();/TRACE2();/TRACE3();:其用法和C中的printf()函数类似;TRACEn()TRACE()的区别是前者使用的资源较少,前者中n表示所带参数的个数。使得TRACE可用:Tools-MFCTracer-Enablingtrace
2
AfxDump()//其用法和C++中的cout类似;
3
AfxDump(constCobject*obj);会输出obj的相关信息(属性的值)。
4
MessageBox();/AfxMessageBox();

#ifdef_DEBUG
afxDump<<x;
#endif
将结果显示在OutPut,不能在Release状态下。Ctrl+F5似乎无效,F5可以。

afxDump.SetDepth(1);
设置深度,maps,arrays,它只打出有几个可元素,我们用上面的这个函数,它会将所有的内容打出来
.
#ifdef_DEBUG
chartest[]="0123456789/n";
afxDump.HexDump("--",(BYTE*)test,11,6);
#endif
结果为
:
--303132333435
--363738390A
第一个参数,行首的打头字符
.
第二个参数,要打的内容
.
第三个参数,要打的元素个数
.
第四个参数,每行的个数.

4,TRACE(...),TRACE0,TRACE1,TRACE2,TRACE3也只能在调试时用注意打字符串时有长度限制,包括结束符在内,不超过512个字符.

5.Debug状态下
F9
设置断点后,F5到下一个断点,F10下一行,F11进入函数(包括系统函数)内部,Shift+F11出来.
F5
,Debug菜单有相应的菜单项
.
F5
,View->DebugWindow的子菜单项比较有用
.
Watch
查看你指定的变量

variables
显示auot变量,local变量,this的值
memory
显示指定内存地址存储的值
callstack
显示函数调用关系
registers
寄存器的值
Disabblemble
汇编代码

其实Release下也可调试F5
Alt+f7
工程设置

c/c++GenerateBrowseinfo
选上.
Debuginfo
Progamedatabaseforeditandcontinue
LinkGeneratedebuginfo
选上

Linkincrementally
选上

原创粉丝点击