📄 c++编程中的四个调试小技巧.htm
字号:
border=0>
<TBODY>
<TR>
<TD style="COLOR: #0033ff; BORDER-BOTTOM: #b0c4de 1px dashed"
align=right><FONT style="FONT-SIZE: 8pt">软件工程</FONT></TD></TR>
<TR>
<TD align=right><A
href="http://dev.csdn.net/articlelist.aspx?c=13">其他</A> (<A
href="http://www.csdn.net/Rss/RssFeed.aspx?rssid=1&bigclassid=13">rss</A>) </TD></TR></TBODY></TABLE></TD></TR></TBODY></TABLE><BR>
<TABLE cellSpacing=1 cellPadding=0 width="100%" bgColor=#000000
border=0><TBODY>
<TR>
<TD vAlign=top bgColor=#ededed>
<TABLE cellSpacing=0 cellPadding=0 width="100%" border=0>
<TBODY>
<TR>
<TD align=right background=C++编程中的四个调试小技巧.files/top.gif
height=27><FONT
class=fonttitle>积极原创作者 </FONT></TD></TR></TBODY></TABLE>
<TABLE cellSpacing=1 cellPadding=2 width="100%" border=0>
<TBODY>
<TR>
<TD align=right><A
href="http://dev.csdn.net/user/ptop">ptop</A> <FONT
color=#ff0000>(12)</FONT></TD></TR>
<TR>
<TD align=right><A
href="http://dev.csdn.net/user/gaolongbiti">gaolongbiti</A> <FONT
color=#ff0000>(6)</FONT></TD></TR>
<TR>
<TD align=right><A
href="http://dev.csdn.net/user/zhangyuk">zhangyuk</A> <FONT
color=#ff0000>(8)</FONT></TD></TR>
<TR>
<TD align=right><A
href="http://dev.csdn.net/user/rijing2000">rijing2000</A> <FONT
color=#ff0000>(5)</FONT></TD></TR>
<TR>
<TD align=right><A
href="http://dev.csdn.net/user/athossmth">athossmth</A> <FONT
color=#ff0000>(8)</FONT></TD></TR>
<TR>
<TD align=right><A
href="http://dev.csdn.net/user/pandi">pandi</A> <FONT
color=#ff0000>(1)</FONT></TD></TR>
<TR>
<TD align=right><A
href="http://dev.csdn.net/user/arden1019">arden1019</A> <FONT
color=#ff0000>(18)</FONT></TD></TR>
<TR>
<TD align=right><A
href="http://dev.csdn.net/user/raymondxu">raymondxu</A> <FONT
color=#ff0000>(3)</FONT></TD></TR>
<TR>
<TD align=right><A
href="http://dev.csdn.net/user/rexwu">rexwu</A> <FONT
color=#ff0000>(1)</FONT></TD></TR>
<TR>
<TD align=right><A
href="http://dev.csdn.net/user/savage711">savage711</A> <FONT
color=#ff0000>(2)</FONT></TD></TR></TBODY></TABLE></TD></TR></TBODY></TABLE></TD>
<TD vAlign=top width=786>
<TABLE cellPadding=4 width="100%" border=0>
<TBODY>
<TR>
<TD width=10 height=19></TD>
<TD height=19>
<TABLE cellSpacing=3 cellPadding=3 width="100%" border=0>
<TBODY>
<TR>
<TD><A href="http://www.csdn.net/">CSDN</A> - <A
href="http://dev.csdn.net/">文档中心</A> - <FONT color=#003399><A
id=ArticleTitle1_ArticleTitle1_hlClass
href="http://dev.csdn.net/articlelist.aspx?c=9">其他开发语言
</A></FONT></TD>
<TD align=right>阅读:<SPAN
id=ArticleTitle1_ArticleTitle1_lblReadCount>176</SPAN>
评论: <SPAN
id=ArticleTitle1_ArticleTitle1_lblCommentCount>0</SPAN>
<A
href="http://dev.csdn.net/article/66/66522.shtm#Comment">参与评论</A>
</TD></TR></TBODY></TABLE>
<TABLE cellSpacing=3 cellPadding=3 width="100%" bgColor=#eeeeee
border=0>
<TBODY>
<TR>
<TD noWrap width=60 height=0></TD>
<TD></TD></TR>
<TR>
<TD noWrap align=middle bgColor=#003399 height=16><FONT
color=#ffffff>标题</FONT></TD>
<TD><B> <SPAN
id=ArticleTitle1_ArticleTitle1_lblTitle>C++编程中的四个调试小技巧</SPAN></B>
选择自 <A id=ArticleTitle1_ArticleTitle1_AuthorLink
href="http://dev.csdn.net/user/mynote">mynote</A> 的 Blog
</TD></TR>
<TR>
<TD align=middle bgColor=#003399 height=16><FONT
color=#ffffff>关键字</FONT></TD>
<TD width=500> <SPAN
id=ArticleTitle1_ArticleTitle1_lblKeywords>C++编程中的四个调试小技巧</SPAN></TD></TR>
<TR>
<TD align=middle bgColor=#003399 height=16><FONT
color=#ffffff>出处</FONT></TD>
<TD> <SPAN
id=ArticleTitle1_ArticleTitle1_lblSource></SPAN></TD></TR></TBODY></TABLE></TD></TR>
<TR>
<TD width=10></TD>
<TD><SPAN id=ArticleContent1_ArticleContent1_lblContent>
<P> 1.调试标记 </P>
<P> 适用预处理#define定义一个或多个调试标记,在代码中把调试部分使用#ifdef 和#endif
进行管理。当程序最终调试完成后,只需要使用#undef标记,调试代码就会消失。常用的调试标记为DEBUG, 语句序列:</P>
<P><BR> </P>
<P><BR>#define DEBUG</P>
<P>#ifdef DEBUG</P>
<P>调试代码</P>
<P>#endif </P>
<P> 2.运行期间调试标记</P>
<P> 在程序运行期间打开和关闭调试标记。通过设置一个调试bool标记可以实现。这对命令行运行的程序更为方便。</P>
<P> 例如下面代码</P>
<P>#include<iostream><BR>#include <string><BR>using
namespace std;<BR>bool debug =false;<BR>int main(int
argc,char*argv[])<BR>{<BR> for(int
i=0;i<argc;i++)<BR> if(string(argv[i])==“--debug=on“)<BR> debug
= true;<BR> bool
go=true;<BR> while(go)<BR> {<BR> if(debug)<BR> {<BR> 调试代码<BR> }else
{}<BR> }<BR>} </P>
<P> 3.把变量和表达式转换成字符串</P>
<P> 可是使用字符串运算符来实现转换输出定义</P>
<P>#define PR(x) cout<<#x”=”<<x<<'\n' </P>
<P> 4.c语言的assert()</P>
<P> 该宏在<assert>中,,当使用assert时候,给他个参数,即一个判读为真的表达式。预处理器产生测试该断言的代码,如果断言不为真,则发出一个错误信息告诉断言是什么以及它失败一会,程序会终止。</P>
<P>#include< assert><BR>using namsapce std;<BR>int
main()<BR>{<BR> int i=100;<BR> assert(i!=100);
//Fails<BR>}<BR>当调试完毕后在#include<assert>前加入#define
NDEBUG即可消除红产生的代码<BR>} </P>
<P></P></SPAN><BR>
<DIV
style="FONT-SIZE: 14px; LINE-HEIGHT: 25px"><STRONG>作者Blog:</STRONG><A
id=ArticleContent1_ArticleContent1_AuthorBlogLink
href="http://blog.csdn.net/mynote/"
target=_blank>http://blog.csdn.net/mynote/</A></DIV>
<DIV
style="FONT-SIZE: 14px; COLOR: #900; LINE-HEIGHT: 25px"><STRONG>相关文章</STRONG></DIV>
<TABLE id=ArticleContent1_ArticleContent1_RelatedArticles
style="BORDER-COLLAPSE: collapse" cellSpacing=0 border=0>
<TBODY>
<TR>
<TD><A
href="http://dev.csdn.net/article/66/article/66/66932.shtm">一个MM应聘华为公司的悲惨遭遇</A>
</TD></TR>
<TR>
<TD><A
href="http://dev.csdn.net/article/66/article/66/66673.shtm">七年IT奋斗纪实及感悟</A>
</TD></TR>
<TR>
<TD><A
href="http://dev.csdn.net/article/66/article/66/66640.shtm">A
man called Joey</A> </TD></TR>
<TR>
<TD><A
href="http://dev.csdn.net/article/66/article/66/66639.shtm">Commonly
used English certainly beautiful line 常用英语绝佳句型</A> </TD></TR>
<TR>
<TD><A
href="http://dev.csdn.net/article/66/article/66/66623.shtm">创意组合——friend
class + virtual class member
</A></TD></TR></TBODY></TABLE></TD></TR></TBODY></TABLE><A
name=#Comment></A>
<TABLE cellPadding=0 width="100%" border=0>
<TBODY>
<TR>
<TD>
<TABLE cellSpacing=0 cellPadding=0 width="100%" align=center
bgColor=#006699 border=0>
<TBODY>
<TR bgColor=#006699>
<TD id=white align=middle width=556 bgColor=#006699><FONT
color=#ffffff>对该文的评论</FONT> </TD></TR></TBODY></TABLE>
<DIV align=right><A id=CommnetList1_CommnetList1_Morelink
href="http://comment.csdn.net/Comment.aspx?c=2&s=66522">【评论】</A>
<A id=CommnetList1_CommnetList1_Hyperlink1
href="javascript:window.close();">【关闭】</A> <A
href="mailto:webmaster@csdn.net">【报告bug】</A>
</DIV><BR></TD></TR></TBODY></TABLE></TD></TR></TBODY></TABLE></FORM><!-- 版权 -->
<HR align=center width=770 noShade SIZE=1>
<TABLE cellSpacing=0 cellPadding=0 width=500 align=center border=0>
<TBODY>
<TR>
<TD vAlign=bottom align=middle height=10><A
href="http://www.csdn.net/intro/intro.asp?id=2">网站简介</A> - <A
href="http://www.csdn.net/intro/intro.asp?id=5">广告服务</A> - <A
href="http://www.csdn.net/map/map.shtm">网站地图</A> - <A
href="http://www.csdn.net/help/help.asp">帮助信息</A> - <A
href="http://www.csdn.net/intro/intro.asp?id=2">联系方式</A> - <A
href="http://www.csdn.net/english">English</A> </TD>
<TD align=middle rowSpan=3><A
href="http://www.hd315.gov.cn/beian/view.asp?bianhao=010202001032100010"><IMG
height=48 src="C++编程中的四个调试小技巧.files/biaoshi.gif" width=40
border=0></A></TD></TR>
<TR>
<TD vAlign=top align=middle>北京百联美达美数码科技有限公司 版权所有 京ICP证020026号</TD></TR>
<TR align=middle>
<TD vAlign=top><FONT face=Verdana>Copyright © CSDN.NET, Inc. All Rights
Reserved</FONT></TD></TR>
<TR>
<TD height=15></TD></TR></TBODY></TABLE><!-- /版权 -->
<SCRIPT>
document.write("<img src=http://count.csdn.net/count/pageview1.asp?columnid=4&itemid=11 border=0 width=0 height=0>");
</SCRIPT>
</BODY></HTML>
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -