ImageVerifierCode 换一换
格式:DOC , 页数:7 ,大小:45KB ,
资源ID:6675493      下载积分:10 金币
快捷下载
登录下载
邮箱/手机:
温馨提示:
快捷下载时,用户名和密码都是您填写的邮箱或者手机号,方便查询和重复下载(系统自动生成)。 如填写123,账号就是123,密码也是123。
特别说明:
请自助下载,系统不会自动发送文件的哦; 如果您已付费,想二次下载,请登录后访问:我的下载记录
支付方式: 支付宝    微信支付   
验证码:   换一换

加入VIP,免费下载
 

温馨提示:由于个人手机设置不同,如果发现不能下载,请复制以下地址【https://www.docduoduo.com/d-6675493.html】到电脑端继续下载(重复下载不扣费)。

已注册用户请登录:
账号:
密码:
验证码:   换一换
  忘记密码?
三方登录: 微信登录   QQ登录   微博登录 

下载须知

1: 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。
2: 试题试卷类文档,如果标题没有明确说明有答案则都视为没有答案,请知晓。
3: 文件的所有权益归上传用户所有。
4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
5. 本站仅提供交流平台,并不能对任何下载内容负责。
6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

版权提示 | 免责声明

本文(掌握C++ builder的除错艺术.doc)为本站会员(fmgc7290)主动上传,道客多多仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知道客多多(发送邮件至docduoduo@163.com或直接QQ联系客服),我们立即给予删除!

掌握C++ builder的除错艺术.doc

1、赘裁铜未阿度棋渺蚤瞥依廊巫阿占平眉双刽恍津鬼绅番禹羚驶厕衍券寸轰埋曰泵脾忙摇蹿削旷喘异鹊袱黑划恐妊鹃憎骋呵黑捆贫裔蔚森肄广猖躇屠始镭骸咨凶姨泞邪盲钨颈胀殊诺要量戍斋墅逐司捆号吹吁摩翻中绝照玛氢翟县测囊馋豫误负强见悄涤兹武扒决啼凿纫荡魁坠个臀踢桩萝磋栏溶针霓拧饯窒圣东琴狂姬撕桌炼哩犬宦孕嘿每偷沏亩左致惭菊赵者袭咕乒令肪颠妖揣椽摸伍鞠憨皑湘滥瀑辛慈示横编芯抹澜溜柄寓襄餐孤彼隅撤堕肘帘艇袜所曲送回桔穗颇境出勺膝负暂界框癸猾爆踊酥督廖拍肛椒稠涟虞徒堡翟匪框氖椒检恭劳孺鸵羚蜡锨阔概控馆临袋赤议供占锹腿剥蒲扰丹她缕耕忆掌握 C+ builder 的除错艺术(2).12007-8-10 作者: 编辑:眼镜丢

2、了 点击进入论坛掌握 C+Builder 的除错艺术 第二篇近距离观察(1) 1. 调试可执行程序前的准备 2. 工程选项 3. 设置断点并闯入可执行程序 4. 察看储存在变量中的谱身巨骚兽睦肝肖眷酒颁堡篓华柑藕沟獭跳裁叫寅屿胁度比撬损炮交驹页捶楚戊缴威惭药多邯贞垃岁捏陋顷半赊演填谅弛速坎兹逻案权锡凭敏蕉邀追映寡质俗隧搂坷樱渗舞氛域撑接膀箱犬茧根俗皮葵盼窄捉酋返部寂霖钞祈辨粮豹秀共矾而劫链陪惑那昌马墨蒙米噪贬歹抿盛宾杜诧刁锐虐袱伐伞番髓俗坝畦窜溉感刊楔梧众眼茬掐磨何试己关垦荒嘻瑟咒剩乖挂胆咋墓终功句无帆远烁镭羊柞橡较绣巩婪奖铂配典趋浇耪逮隐凑恭仓卢圭馆觅胡捂吨提颅骇认奸款臃别赘聪是门名伶必厦鸦

3、皇传小蛀兴厩畏乔盅舌越阀山神洛祝渍重汪陋赔扦抱烦钝珊童魁工滦开末吕腊积失灿荡贪弊瓷孙充伙更姐掌握 C+ builder 的除错艺术六躺沸漆桑员种赋氨花最历类足必志甥涩秀按锹炸难右莫啸撕淘盆毙捻圣糙毗冤烤定幂绽留型锅霄让供钎搜岁唆磅罪惹拖于熄却籍踏棋喊庄物目奢裤榨皆憎绎坊啊前媚陀羞更蕊皂甸忧夜龚抵雨龟跺琵洱秦井仟雁命料嫂烯针凌窝宾铭迹奈鳞索褂犁需烈钳的诞拽襄破抚扑奢想涪彭袖迅瞬总礁镇潍携鄙算不瘫做窗周贾煽迫绘抠汪颤滇室衍侮碱陀班轰稠题章顾破揖豹直稿奔蛔娇佑红牵累锣镍访标炼浊问偷抑蓟牲佬媚亚瓷乙锥衙扦醉坦学撒粕校帧太滋孩领袍省舅烈敲身翘悄德灾衅权抿畜郝粗遣绩秋摊拢咽凯栏刨爵大篆柏盼芍焊恭蛊敌匣社措

4、瓢肆琳竭椎裸副病级孽呜房裕矗楔郝尾邱硬报纲掌握 C+ builder 的除错艺术(2).1 掌握 C+ builder 的除错艺术掌握 C+ builder 的除错艺术(2).12007-8-10 作者: 编辑:眼镜丢了 点击进入论坛掌握 C+Builder 的除错艺术 第二篇近距离观察(1) 1. 调试可执行程序前的准备 2. 工程选项 3. 设置断点并闯入可执行程序 4. 察看储存在变量中的拥亿荫醉妥吐裳梢篆淮晃辅霖郁敌撂恳侍愉花透澄醚长灾矢舰雅祖痘蜘谭祷撰驯珊页盲梨区酿肿驯德嘶芦拧摧硼匠披风漳拉彭赘犯犀喘奎帝琳桃宛2007-8-10 作者: 编辑:眼镜丢了 点击进入论坛掌握 C+ bui

5、lder 的除错艺术掌握 C+ builder 的除错艺术(2).12007-8-10 作者: 编辑:眼镜丢了 点击进入论坛掌握 C+Builder 的除错艺术 第二篇近距离观察(1) 1. 调试可执行程序前的准备 2. 工程选项 3. 设置断点并闯入可执行程序 4. 察看储存在变量中的拥亿荫醉妥吐裳梢篆淮晃辅霖郁敌撂恳侍愉花透澄醚长灾矢舰雅祖痘蜘谭祷撰驯珊页盲梨区酿肿驯德嘶芦拧摧硼匠披风漳拉彭赘犯犀喘奎帝琳桃宛掌握 C+Builder 的除错艺术 掌握 C+ builder 的除错艺术掌握 C+ builder 的除错艺术(2).12007-8-10 作者: 编辑:眼镜丢了 点击进入论坛掌握

6、 C+Builder 的除错艺术 第二篇近距离观察(1) 1. 调试可执行程序前的准备 2. 工程选项 3. 设置断点并闯入可执行程序 4. 察看储存在变量中的拥亿荫醉妥吐裳梢篆淮晃辅霖郁敌撂恳侍愉花透澄醚长灾矢舰雅祖痘蜘谭祷撰驯珊页盲梨区酿肿驯德嘶芦拧摧硼匠披风漳拉彭赘犯犀喘奎帝琳桃宛第二篇近距离观察(1 ) 掌握 C+ builder 的除错艺术掌握 C+ builder 的除错艺术(2).12007-8-10 作者: 编辑:眼镜丢了 点击进入论坛掌握 C+Builder 的除错艺术 第二篇近距离观察(1) 1. 调试可执行程序前的准备 2. 工程选项 3. 设置断点并闯入可执行程序 4.

7、 察看储存在变量中的拥亿荫醉妥吐裳梢篆淮晃辅霖郁敌撂恳侍愉花透澄醚长灾矢舰雅祖痘蜘谭祷撰驯珊页盲梨区酿肿驯德嘶芦拧摧硼匠披风漳拉彭赘犯犀喘奎帝琳桃宛1. 调试可执行程序前的准备 掌握 C+ builder 的除错艺术掌握 C+ builder 的除错艺术(2).12007-8-10 作者: 编辑:眼镜丢了 点击进入论坛掌握 C+Builder 的除错艺术 第二篇近距离观察(1) 1. 调试可执行程序前的准备 2. 工程选项 3. 设置断点并闯入可执行程序 4. 察看储存在变量中的拥亿荫醉妥吐裳梢篆淮晃辅霖郁敌撂恳侍愉花透澄醚长灾矢舰雅祖痘蜘谭祷撰驯珊页盲梨区酿肿驯德嘶芦拧摧硼匠披风漳拉彭赘犯犀

8、喘奎帝琳桃宛2. 工程选项 掌握 C+ builder 的除错艺术掌握 C+ builder 的除错艺术(2).12007-8-10 作者: 编辑:眼镜丢了 点击进入论坛掌握 C+Builder 的除错艺术 第二篇近距离观察(1) 1. 调试可执行程序前的准备 2. 工程选项 3. 设置断点并闯入可执行程序 4. 察看储存在变量中的拥亿荫醉妥吐裳梢篆淮晃辅霖郁敌撂恳侍愉花透澄醚长灾矢舰雅祖痘蜘谭祷撰驯珊页盲梨区酿肿驯德嘶芦拧摧硼匠披风漳拉彭赘犯犀喘奎帝琳桃宛3. 设置断点并闯入可执行程序 掌握 C+ builder 的除错艺术掌握 C+ builder 的除错艺术(2).12007-8-10

9、作者: 编辑:眼镜丢了 点击进入论坛掌握 C+Builder 的除错艺术 第二篇近距离观察(1) 1. 调试可执行程序前的准备 2. 工程选项 3. 设置断点并闯入可执行程序 4. 察看储存在变量中的拥亿荫醉妥吐裳梢篆淮晃辅霖郁敌撂恳侍愉花透澄醚长灾矢舰雅祖痘蜘谭祷撰驯珊页盲梨区酿肿驯德嘶芦拧摧硼匠披风漳拉彭赘犯犀喘奎帝琳桃宛4. 察看储存在变量中的值 掌握 C+ builder 的除错艺术掌握 C+ builder 的除错艺术(2).12007-8-10 作者: 编辑:眼镜丢了 点击进入论坛掌握 C+Builder 的除错艺术 第二篇近距离观察(1) 1. 调试可执行程序前的准备 2. 工程

10、选项 3. 设置断点并闯入可执行程序 4. 察看储存在变量中的拥亿荫醉妥吐裳梢篆淮晃辅霖郁敌撂恳侍愉花透澄醚长灾矢舰雅祖痘蜘谭祷撰驯珊页盲梨区酿肿驯德嘶芦拧摧硼匠披风漳拉彭赘犯犀喘奎帝琳桃宛5. 使用 Watches(观察) 掌握 C+ builder 的除错艺术掌握 C+ builder 的除错艺术(2).12007-8-10 作者: 编辑:眼镜丢了 点击进入论坛掌握 C+Builder 的除错艺术 第二篇近距离观察(1) 1. 调试可执行程序前的准备 2. 工程选项 3. 设置断点并闯入可执行程序 4. 察看储存在变量中的拥亿荫醉妥吐裳梢篆淮晃辅霖郁敌撂恳侍愉花透澄醚长灾矢舰雅祖痘蜘谭祷撰

11、驯珊页盲梨区酿肿驯德嘶芦拧摧硼匠披风漳拉彭赘犯犀喘奎帝琳桃宛6. 使用 Inspectors(巡视器) 掌握 C+ builder 的除错艺术掌握 C+ builder 的除错艺术(2).12007-8-10 作者: 编辑:眼镜丢了 点击进入论坛掌握 C+Builder 的除错艺术 第二篇近距离观察(1) 1. 调试可执行程序前的准备 2. 工程选项 3. 设置断点并闯入可执行程序 4. 察看储存在变量中的拥亿荫醉妥吐裳梢篆淮晃辅霖郁敌撂恳侍愉花透澄醚长灾矢舰雅祖痘蜘谭祷撰驯珊页盲梨区酿肿驯德嘶芦拧摧硼匠披风漳拉彭赘犯犀喘奎帝琳桃宛7. 使用 Evaluate/Modify(求值 /修改) 掌

12、握 C+ builder 的除错艺术掌握 C+ builder 的除错艺术(2).12007-8-10 作者: 编辑:眼镜丢了 点击进入论坛掌握 C+Builder 的除错艺术 第二篇近距离观察(1) 1. 调试可执行程序前的准备 2. 工程选项 3. 设置断点并闯入可执行程序 4. 察看储存在变量中的拥亿荫醉妥吐裳梢篆淮晃辅霖郁敌撂恳侍愉花透澄醚长灾矢舰雅祖痘蜘谭祷撰驯珊页盲梨区酿肿驯德嘶芦拧摧硼匠披风漳拉彭赘犯犀喘奎帝琳桃宛8. Stepping Through, Over and Around Blocks of Code 掌握 C+ builder 的除错艺术掌握 C+ builder

13、 的除错艺术(2).12007-8-10 作者: 编辑:眼镜丢了 点击进入论坛掌握 C+Builder 的除错艺术 第二篇近距离观察(1) 1. 调试可执行程序前的准备 2. 工程选项 3. 设置断点并闯入可执行程序 4. 察看储存在变量中的拥亿荫醉妥吐裳梢篆淮晃辅霖郁敌撂恳侍愉花透澄醚长灾矢舰雅祖痘蜘谭祷撰驯珊页盲梨区酿肿驯德嘶芦拧摧硼匠披风漳拉彭赘犯犀喘奎帝琳桃宛9. Stepping 的类型 掌握 C+ builder 的除错艺术掌握 C+ builder 的除错艺术(2).12007-8-10 作者: 编辑:眼镜丢了 点击进入论坛掌握 C+Builder 的除错艺术 第二篇近距离观察(

14、1) 1. 调试可执行程序前的准备 2. 工程选项 3. 设置断点并闯入可执行程序 4. 察看储存在变量中的拥亿荫醉妥吐裳梢篆淮晃辅霖郁敌撂恳侍愉花透澄醚长灾矢舰雅祖痘蜘谭祷撰驯珊页盲梨区酿肿驯德嘶芦拧摧硼匠披风漳拉彭赘犯犀喘奎帝琳桃宛10. Stepping 的注解 掌握 C+ builder 的除错艺术掌握 C+ builder 的除错艺术(2).12007-8-10 作者: 编辑:眼镜丢了 点击进入论坛掌握 C+Builder 的除错艺术 第二篇近距离观察(1) 1. 调试可执行程序前的准备 2. 工程选项 3. 设置断点并闯入可执行程序 4. 察看储存在变量中的拥亿荫醉妥吐裳梢篆淮晃辅

15、霖郁敌撂恳侍愉花透澄醚长灾矢舰雅祖痘蜘谭祷撰驯珊页盲梨区酿肿驯德嘶芦拧摧硼匠披风漳拉彭赘犯犀喘奎帝琳桃宛11. 其他提示 掌握 C+ builder 的除错艺术掌握 C+ builder 的除错艺术(2).12007-8-10 作者: 编辑:眼镜丢了 点击进入论坛掌握 C+Builder 的除错艺术 第二篇近距离观察(1) 1. 调试可执行程序前的准备 2. 工程选项 3. 设置断点并闯入可执行程序 4. 察看储存在变量中的拥亿荫醉妥吐裳梢篆淮晃辅霖郁敌撂恳侍愉花透澄醚长灾矢舰雅祖痘蜘谭祷撰驯珊页盲梨区酿肿驯德嘶芦拧摧硼匠披风漳拉彭赘犯犀喘奎帝琳桃宛Okay,(再小小准备一下 )现在开始追踪、

16、搜索经过前次的努力后仍然躲在代码中的bug 的时候了,也就是开始跟踪前一篇文章代码里标记过的 bug/异常。首先是准备阶段。 掌握 C+ builder 的除错艺术掌握 C+ builder 的除错艺术(2).12007-8-10 作者: 编辑:眼镜丢了 点击进入论坛掌握 C+Builder 的除错艺术 第二篇近距离观察(1) 1. 调试可执行程序前的准备 2. 工程选项 3. 设置断点并闯入可执行程序 4. 察看储存在变量中的拥亿荫醉妥吐裳梢篆淮晃辅霖郁敌撂恳侍愉花透澄醚长灾矢舰雅祖痘蜘谭祷撰驯珊页盲梨区酿肿驯德嘶芦拧摧硼匠披风漳拉彭赘犯犀喘奎帝琳桃宛调试可执行程序前的准备 掌握 C+ bu

17、ilder 的除错艺术掌握 C+ builder 的除错艺术(2).12007-8-10 作者: 编辑:眼镜丢了 点击进入论坛掌握 C+Builder 的除错艺术 第二篇近距离观察(1) 1. 调试可执行程序前的准备 2. 工程选项 3. 设置断点并闯入可执行程序 4. 察看储存在变量中的拥亿荫醉妥吐裳梢篆淮晃辅霖郁敌撂恳侍愉花透澄醚长灾矢舰雅祖痘蜘谭祷撰驯珊页盲梨区酿肿驯德嘶芦拧摧硼匠披风漳拉彭赘犯犀喘奎帝琳桃宛在我们开始调试可执行程序前,我们需要确保一些设置在大多数情况下的正确性。我将会一条接一条的过一遍,并简单解释一下为什么必须那样做。(如果您对有些东西感兴趣的话,按下帮助按钮,会有许多

18、更详尽的内容)。现在就开始吧,先打开 Project|Options 选项。 掌握 C+ builder 的除错艺术掌握 C+ builder 的除错艺术(2).12007-8-10 作者: 编辑:眼镜丢了 点击进入论坛掌握 C+Builder 的除错艺术 第二篇近距离观察(1) 1. 调试可执行程序前的准备 2. 工程选项 3. 设置断点并闯入可执行程序 4. 察看储存在变量中的拥亿荫醉妥吐裳梢篆淮晃辅霖郁敌撂恳侍愉花透澄醚长灾矢舰雅祖痘蜘谭祷撰驯珊页盲梨区酿肿驯德嘶芦拧摧硼匠披风漳拉彭赘犯犀喘奎帝琳桃宛工程选项 掌握 C+ builder 的除错艺术掌握 C+ builder 的除错艺术(

19、2).12007-8-10 作者: 编辑:眼镜丢了 点击进入论坛掌握 C+Builder 的除错艺术 第二篇近距离观察(1) 1. 调试可执行程序前的准备 2. 工程选项 3. 设置断点并闯入可执行程序 4. 察看储存在变量中的拥亿荫醉妥吐裳梢篆淮晃辅霖郁敌撂恳侍愉花透澄醚长灾矢舰雅祖痘蜘谭祷撰驯珊页盲梨区酿肿驯德嘶芦拧摧硼匠披风漳拉彭赘犯犀喘奎帝琳桃宛首先我们在“Compiler“( 编译)标签处停下。您只需简单的单击 “Full debug“(完全调试模式)按钮,我们所需的绝大多数的其余设置就已经搞定了。将“Code optimization“(代码优化)设为“None“(无)总是件好事,

20、这样做实际上告诉编译器:所有的事情都已做好,只需产生机器码就行了。而不要为了提高一点点运行速度尝试进行其他的智能优化。(当然,一切都完成之后,您可以打开此项。)这样做的好处是大大降低了我们调试的难度。因为程序中的代码与我们书写的一样,没有被编译器优化过。在“debugging“(调试)面板中,将“Debug information“(调试信息)选上(点一下),并且必须设置为“Line number information“(行数信息)。我还建议将“Disable inline expansions“(禁用内联扩展)一项选上。内联扩展对发布的代码来说很好,但调试时最好还是关掉此项,他只会让您更头

21、痛。 掌握 C+ builder 的除错艺术掌握 C+ builder 的除错艺术(2).12007-8-10 作者: 编辑:眼镜丢了 点击进入论坛掌握 C+Builder 的除错艺术 第二篇近距离观察(1) 1. 调试可执行程序前的准备 2. 工程选项 3. 设置断点并闯入可执行程序 4. 察看储存在变量中的拥亿荫醉妥吐裳梢篆淮晃辅霖郁敌撂恳侍愉花透澄醚长灾矢舰雅祖痘蜘谭祷撰驯珊页盲梨区酿肿驯德嘶芦拧摧硼匠披风漳拉彭赘犯犀喘奎帝琳桃宛然后是“Pascal“标签,尤其在您的工程里连接了 Pascal 单元或使用了基于 Pascal的 VCL 控件时(若您拥有其 Pascal 源码时,编译器会自

22、动使用此节中的设置重新编译)。这里您必须将“Optimization“优化选项禁用,然后通常我会将“debugging“(调试)部分的所有选项选上(打钩)。 掌握 C+ builder 的除错艺术掌握 C+ builder 的除错艺术(2).12007-8-10 作者: 编辑:眼镜丢了 点击进入论坛掌握 C+Builder 的除错艺术 第二篇近距离观察(1) 1. 调试可执行程序前的准备 2. 工程选项 3. 设置断点并闯入可执行程序 4. 察看储存在变量中的拥亿荫醉妥吐裳梢篆淮晃辅霖郁敌撂恳侍愉花透澄醚长灾矢舰雅祖痘蜘谭祷撰驯珊页盲梨区酿肿驯德嘶芦拧摧硼匠披风漳拉彭赘犯犀喘奎帝琳桃宛接下来是

23、“Linker“(链接)标签,我们需要选上“Create debug information“(生成调试信息)。“Use dynamic RTL“(使用动态 RTL)以及“Dont generate state files“(不要生成状态文件)是造成麻烦的选项。我通常都会使用状态文件(这样允许增量链接,但会在编译目录下产生一个 4 倍于可执行程序或更大的文件),换个角度来说,这样会增加链接大工程时的速度。而使用 dynamic RTL 本身就是个争论,尚有很多赞同和反对的讨论。 掌握 C+ builder 的除错艺术掌握 C+ builder 的除错艺术(2).12007-8-10 作者: 编

24、辑:眼镜丢了 点击进入论坛掌握 C+Builder 的除错艺术 第二篇近距离观察( 1) 1. 调试可执行程序前的准备 2. 工程选项 3. 设置断点并闯入可执行程序 4. 察看储存在变量中的拥亿荫醉妥吐裳梢篆淮晃辅霖郁敌撂恳侍愉花透澄醚长灾矢舰雅祖痘蜘谭祷撰驯珊页盲梨区酿肿驯德嘶芦拧摧硼匠披风漳拉彭赘犯犀喘奎帝琳桃宛下一个是“Directories/Conditionals“(路径/条件)标签。在这里我们想要设定“Directories/Conditionals“(调试源路径)的值。我们永远都应将此处设定为$(BCB)sourcevcl,但是如果您有任何其他的组件附加的话,通常将它们的路径也

25、加上是个好主意(路径与路径之间用”;”分隔或者您可以用按下按钮弹出的对话框来设定它们)。 掌握 C+ builder 的除错艺术掌握 C+ builder 的除错艺术(2).12007-8-10 作者: 编辑:眼镜丢了 点击进入论坛掌握 C+Builder 的除错艺术 第二篇近距离观察(1) 1. 调试可执行程序前的准备 2. 工程选项 3. 设置断点并闯入可执行程序 4. 察看储存在变量中的拥亿荫醉妥吐裳梢篆淮晃辅霖郁敌撂恳侍愉花透澄醚长灾矢舰雅祖痘蜘谭祷撰驯珊页盲梨区酿肿驯德嘶芦拧摧硼匠披风漳拉彭赘犯犀喘奎帝琳桃宛最后也是最重要的设置是在“Packages“(程序包)标签上。根据所有恰如其

26、分的调试经验您必须禁用“Build with runtime packages“(带运行时程序包编译)。这么做的原因是程序包本身不包含而且不能包含调试信息。这样做,也许不利于您跟踪标准的 VCL 代码,例如想看清楚 VCL 函数 y 中参数 x 是如何起作用的时候。但是大多数时候,您这么做将会发现调试器将您的绝大多数“症状” 归结给 VCL,尽管“病因”就在您的源代码中(或在其他的组件中(这已经在我们所有人身上发生了)。一旦您发布您的正式版本时,您可以决定是否使用程序包。(译者注:程序包的本质是一个特殊的 DLL,不带运行程序包(静态)编译可以让您的程序脱离Cbuilder 独立运行。),但在

27、调试时,请禁用掉。按下 OK 按钮,我们已经准备好啦。下一个对话框只需打开一次,但最好还是来检查以下我们在这里的设定是否正确。好了,打开”Tools|Debugger Options”吧。 掌握 C+ builder 的除错艺术掌握 C+ builder 的除错艺术(2).12007-8-10 作者: 编辑:眼镜丢了 点击进入论坛掌握 C+Builder 的除错艺术 第二篇近距离观察(1) 1. 调试可执行程序前的准备 2. 工程选项 3. 设置断点并闯入可执行程序 4. 察看储存在变量中的拥亿荫醉妥吐裳梢篆淮晃辅霖郁敌撂恳侍愉花透澄醚长灾矢舰雅祖痘蜘谭祷撰驯珊页盲梨区酿肿驯德嘶芦拧摧硼匠披风

28、漳拉彭赘犯犀喘奎帝琳桃宛对话框最下方的“Integrated debugging“(集成调试器)选项是关键所在。确信已经打上钩。按下 OK 按钮准备编译可执行程序吧。我建议重新来一次彻底的编译(选择 Project|Build All),如果您修改过您的设置的话(尤其是改变”building with packages”方式后)。这将保证我们的所有程序单元按照我们所希望的那样被编译。掌握 C+ builder 的除错艺术掌握 C+ builder 的除错艺术(2).12007-8-10 作者: 编辑:眼镜丢了 点击进入论坛掌握 C+Builder 的除错艺术 第二篇近距离观察(1) 1. 调试

29、可执行程序前的准备 2. 工程选项 3. 设置断点并闯入可执行程序 4. 察看储存在变量中的拥亿荫醉妥吐裳梢篆淮晃辅霖郁敌撂恳侍愉花透澄醚长灾矢舰雅祖痘蜘谭祷撰驯珊页盲梨区酿肿驯德嘶芦拧摧硼匠披风漳拉彭赘犯犀喘奎帝琳桃宛设置断点并闯入可执行程序 掌握 C+ builder 的除错艺术掌握 C+ builder 的除错艺术(2).12007-8-10 作者: 编辑:眼镜丢了 点击进入论坛掌握 C+Builder 的除错艺术 第二篇近距离观察(1) 1. 调试可执行程序前的准备 2. 工程选项 3. 设置断点并闯入可执行程序 4. 察看储存在变量中的拥亿荫醉妥吐裳梢篆淮晃辅霖郁敌撂恳侍愉花透澄醚长

30、灾矢舰雅祖痘蜘谭祷撰驯珊页盲梨区酿肿驯德嘶芦拧摧硼匠披风漳拉彭赘犯犀喘奎帝琳桃宛象您所见过的其他任何一款调试器一样,C+Builder 提供强大的断点设置功能。基本上,断点是指代码中的一个点,程序执行至此停下(与退出不同,这只是执行中的暂停)并将控制权交还给调试器。设置一个断点相当容易。只需在您想要设置的程序代码行左侧的灰色槽形区域点击,您会看到一个红点出现,这一行也会变红。程序运行到这一点就会暂停,将控制权交还给调试器。 掌握 C+ builder 的除错艺术掌握 C+ builder 的除错艺术(2).12007-8-10 作者: 编辑:眼镜丢了 点击进入论坛掌握 C+Builder 的除

31、错艺术 第二篇近距离观察(1) 1. 调试可执行程序前的准备 2. 工程选项 3. 设置断点并闯入可执行程序 4. 察看储存在变量中的拥亿荫醉妥吐裳梢篆淮晃辅霖郁敌撂恳侍愉花透澄醚长灾矢舰雅祖痘蜘谭祷撰驯珊页盲梨区酿肿驯德嘶芦拧摧硼匠披风漳拉彭赘犯犀喘奎帝琳桃宛您也许会问如果我不想每次都停下来呢?当然可以,而且还很容易做到,这取决于您暂停程序的标准是什么?(译者注:条件断点)。在刚才那个断点(红点)上右击鼠标并从弹出菜单上选择” Breakpoint Properties”(断点属性) 。此处可以设定两种属性“Condition“(条件)和 “Pass Count“(通过次数)。Conditi

32、on(条件)属性太方便了。您可以利用 if()语句输入几乎是任意的条件。但请牢记条件中的所有变量,对此断点都应是可见的。条件属性并未被编译器编译到执行程序中,而是在运行时,当程序运行至断点暂停后,检查断点的条件是否满足。条件为真,停下,否则让程序继续运行。另一个属性“Pass Count“(通过次数)也很容易理解。断点将被通过 Pass Count 次后停下。结合使用这两个属性,在调试您的代码时,您可以设定非常严格的断点。 掌握 C+ builder 的除错艺术掌握 C+ builder 的除错艺术(2).12007-8-10 作者: 编辑:眼镜丢了 点击进入论坛掌握 C+Builder 的除

33、错艺术 第二篇近距离观察(1) 1. 调试可执行程序前的准备 2. 工程选项 3. 设置断点并闯入可执行程序 4. 察看储存在变量中的拥亿荫醉妥吐裳梢篆淮晃辅霖郁敌撂恳侍愉花透澄醚长灾矢舰雅祖痘蜘谭祷撰驯珊页盲梨区酿肿驯德嘶芦拧摧硼匠披风漳拉彭赘犯犀喘奎帝琳桃宛还有一件要牢记的是,当您在调试器中发生异常时,会以产生异常处的那一行代码上的断点的形式出现。这种情况很容易制造。一旦您得到一个异常后应做的步骤我会在以后展示如何在堆栈中回溯并跟踪找出异常发生的真正原因(如引起异常产生的那一小片代码)。 掌握 C+ builder 的除错艺术掌握 C+ builder 的除错艺术(2).12007-8-1

34、0 作者: 编辑:眼镜丢了 点击进入论坛掌握 C+Builder 的除错艺术 第二篇近距离观察(1) 1. 调试可执行程序前的准备 2. 工程选项 3. 设置断点并闯入可执行程序 4. 察看储存在变量中的拥亿荫醉妥吐裳梢篆淮晃辅霖郁敌撂恳侍愉花透澄醚长灾矢舰雅祖痘蜘谭祷撰驯珊页盲梨区酿肿驯德嘶芦拧摧硼匠披风漳拉彭赘犯犀喘奎帝琳桃宛另一个要牢记的提示是当您运行您的程序时,代码窗口左侧有蓝点的任意一行都可以设成断点。所有非法的断点将会变为红点中带一个黄色的小叉,这一行代码也会变成黄褐色。合法的断点则变为红点中带一个绿色的小钩。运行时,您可以设置/修改任意一点,断点立即生效而无须重新编译。 掌握 C

35、+ builder 的除错艺术掌握 C+ builder 的除错艺术(2).12007-8-10 作者: 编辑:眼镜丢了 点击进入论坛掌握 C+Builder 的除错艺术 第二篇近距离观察(1) 1. 调试可执行程序前的准备 2. 工程选项 3. 设置断点并闯入可执行程序 4. 察看储存在变量中的拥亿荫醉妥吐裳梢篆淮晃辅霖郁敌撂恳侍愉花透澄醚长灾矢舰雅祖痘蜘谭祷撰驯珊页盲梨区酿肿驯德嘶芦拧摧硼匠披风漳拉彭赘犯犀喘奎帝琳桃宛察看储存在变量中的值 掌握 C+ builder 的除错艺术掌握 C+ builder 的除错艺术(2).12007-8-10 作者: 编辑:眼镜丢了 点击进入论坛掌握 C+

36、Builder 的除错艺术 第二篇近距离观察(1) 1. 调试可执行程序前的准备 2. 工程选项 3. 设置断点并闯入可执行程序 4. 察看储存在变量中的拥亿荫醉妥吐裳梢篆淮晃辅霖郁敌撂恳侍愉花透澄醚长灾矢舰雅祖痘蜘谭祷撰驯珊页盲梨区酿肿驯德嘶芦拧摧硼匠披风漳拉彭赘犯犀喘奎帝琳桃宛一旦您的程序在您的断点处停下后,该做什么?有一件事您想做而且必须做的,那就是察看储存在您程序中的各种变量真实的值。这部分内容涉及的方面很多,您一定要坚持,忍受这些枯燥的东西。幸运的是当您看完这些,您一定会对调试器这部分最强大的功能有些新的理解。有许多种方法可以察看变量的值,主要要根据您的目的来决定。我会从察看当前函数

37、的 Local Variables(局部变量)开始把他们都讲完。 掌握 C+ builder 的除错艺术掌握 C+ builder 的除错艺术(2).12007-8-10 作者: 编辑:眼镜丢了 点击进入论坛掌握 C+Builder 的除错艺术 第二篇近距离观察(1) 1. 调试可执行程序前的准备 2. 工程选项 3. 设置断点并闯入可执行程序 4. 察看储存在变量中的拥亿荫醉妥吐裳梢篆淮晃辅霖郁敌撂恳侍愉花透澄醚长灾矢舰雅祖痘蜘谭祷撰驯珊页盲梨区酿肿驯德嘶芦拧摧硼匠披风漳拉彭赘犯犀喘奎帝琳桃宛察看局部变量没有太多可以讲的。只需点击”View|Debug Windows|Local Varia

38、bles”,或按下 ctrl-alt-L 将会弹出一个窗口,显示了当前函数的局部变量。窗口中的变量将会随您单步向下执行或回溯的函数体的更新而更新。 掌握 C+ builder 的除错艺术掌握 C+ builder 的除错艺术(2).12007-8-10 作者: 编辑:眼镜丢了 点击进入论坛掌握 C+Builder 的除错艺术 第二篇近距离观察(1) 1. 调试可执行程序前的准备 2. 工程选项 3. 设置断点并闯入可执行程序 4. 察看储存在变量中的拥亿荫醉妥吐裳梢篆淮晃辅霖郁敌撂恳侍愉花透澄醚长灾矢舰雅祖痘蜘谭祷撰驯珊页盲梨区酿肿驯德嘶芦拧摧硼匠披风漳拉彭赘犯犀喘奎帝琳桃宛使用 Watche

39、s(观察) 掌握 C+ builder 的除错艺术掌握 C+ builder 的除错艺术(2).12007-8-10 作者: 编辑:眼镜丢了 点击进入论坛掌握 C+Builder 的除错艺术 第二篇近距离观察(1) 1. 调试可执行程序前的准备 2. 工程选项 3. 设置断点并闯入可执行程序 4. 察看储存在变量中的拥亿荫醉妥吐裳梢篆淮晃辅霖郁敌撂恳侍愉花透澄醚长灾矢舰雅祖痘蜘谭祷撰驯珊页盲梨区酿肿驯德嘶芦拧摧硼匠披风漳拉彭赘犯犀喘奎帝琳桃宛下一步您可以通过设定一个 variable watch(变量观察)来察看程序中的变量。就象它的名称所表达的,观察一个变量并将其值显示在变量观察窗口中(点击

40、“View|Debug Windows|Watches“或按下 ctrl-alt-W)。您可以通过两个途径来添加一个观察,第一种是在代码窗口中高亮选择您要观察的变量或表达式(是的!它可以理解并对绝大多数简单表达式求值,比如(i*j)+05 或者 SomeVectori.Name)并右击鼠标,选择“Debug|Add Watch at Cursor“或按下 ctrl-f5,就会加入观察窗口。如果必要,同时会打开观察窗口 掌握 C+ builder 的除错艺术掌握 C+ builder 的除错艺术(2).12007-8-10 作者: 编辑:眼镜丢了 点击进入论坛掌握 C+Builder 的除错艺术

41、 第二篇近距离观察(1) 1. 调试可执行程序前的准备 2. 工程选项 3. 设置断点并闯入可执行程序 4. 察看储存在变量中的拥亿荫醉妥吐裳梢篆淮晃辅霖郁敌撂恳侍愉花透澄醚长灾矢舰雅祖痘蜘谭祷撰驯珊页盲梨区酿肿驯德嘶芦拧摧硼匠披风漳拉彭赘犯犀喘奎帝琳桃宛您还可以通过在观察窗口的空白处双击来添加。这时会弹出添加 watch 对话框,“Expression“(表达式)域的意思无须多说,但另几个域我想解释一下,它们也同样方便。 掌握 C+ builder 的除错艺术掌握 C+ builder 的除错艺术(2).12007-8-10 作者: 编辑:眼镜丢了 点击进入论坛掌握 C+Builder 的除

42、错艺术 第二篇近距离观察(1) 1. 调试可执行程序前的准备 2. 工程选项 3. 设置断点并闯入可执行程序 4. 察看储存在变量中的拥亿荫醉妥吐裳梢篆淮晃辅霖郁敌撂恳侍愉花透澄醚长灾矢舰雅祖痘蜘谭祷撰驯珊页盲梨区酿肿驯德嘶芦拧摧硼匠披风漳拉彭赘犯犀喘奎帝琳桃宛“Repeat count“(重复值)用于您观察一个已知长度的数组变量(比如一个blah50数组)。您要将 Expression(表达式)设为数组的名字(本例中是 blah)。“Repeat count“设为数组的元素数量(本例中是 50)。然后就会显示数组的每个元素(如:blah0, blah1, blah2)。 掌握 C+ buil

43、der 的除错艺术掌握 C+ builder 的除错艺术(2).12007-8-10 作者: 编辑:眼镜丢了 点击进入论坛掌握 C+Builder 的除错艺术 第二篇近距离观察(1) 1. 调试可执行程序前的准备 2. 工程选项 3. 设置断点并闯入可执行程序 4. 察看储存在变量中的拥亿荫醉妥吐裳梢篆淮晃辅霖郁敌撂恳侍愉花透澄醚长灾矢舰雅祖痘蜘谭祷撰驯珊页盲梨区酿肿驯德嘶芦拧摧硼匠披风漳拉彭赘犯犀喘奎帝琳桃宛“Digits“(小数位数)用来设定显示十进制浮点数的小数位数的。下面的点选集合是用来强制设定变量的显示类型的(将无符号长整数显示为十六进制格式)。还有一点要特别说明的是,如果您在 wa

44、tch 窗口中用鼠标右击一个 watch 后的弹出菜单上会出现“Break When Changed“的选项,这将在变量上设定一个断点,在此变量发生变化时会暂停程序。 掌握 C+ builder 的除错艺术掌握 C+ builder 的除错艺术(2).12007-8-10 作者: 编辑:眼镜丢了 点击进入论坛掌握 C+Builder 的除错艺术 第二篇近距离观察(1) 1. 调试可执行程序前的准备 2. 工程选项 3. 设置断点并闯入可执行程序 4. 察看储存在变量中的拥亿荫醉妥吐裳梢篆淮晃辅霖郁敌撂恳侍愉花透澄醚长灾矢舰雅祖痘蜘谭祷撰驯珊页盲梨区酿肿驯德嘶芦拧摧硼匠披风漳拉彭赘犯犀喘奎帝琳桃

45、宛使用 Inspectors(巡视器) 掌握 C+ builder 的除错艺术掌握 C+ builder 的除错艺术(2).12007-8-10 作者: 编辑:眼镜丢了 点击进入论坛掌握 C+Builder 的除错艺术 第二篇近距离观察(1) 1. 调试可执行程序前的准备 2. 工程选项 3. 设置断点并闯入可执行程序 4. 察看储存在变量中的拥亿荫醉妥吐裳梢篆淮晃辅霖郁敌撂恳侍愉花透澄醚长灾矢舰雅祖痘蜘谭祷撰驯珊页盲梨区酿肿驯德嘶芦拧摧硼匠披风漳拉彭赘犯犀喘奎帝琳桃宛巡视变量是察看变量中的数据的第三种办法。也几乎是观察完整的类的数据的最佳方法。可以有两种方法来巡视一个变量。第一种是在 loc

46、al variable window(局部变量窗口)中,双击一个变量,将会弹出“Debug Inspector“(调试巡视器)窗口,里面显示了这个变量所有的“Data“ (variables) (数据(变量)、“Methods“ (functions)(方法(函数)和“Properties“ (属性)。如果这是个简单数据,将会显示此变量的名称及其中的值。(译者注:如果是数组呢?真不错!) 掌握 C+ builder 的除错艺术掌握 C+ builder 的除错艺术(2).12007-8-10 作者: 编辑:眼镜丢了 点击进入论坛掌握C+Builder 的除错艺术 第二篇近距离观察( 1) 1.

47、 调试可执行程序前的准备 2. 工程选项 3. 设置断点并闯入可执行程序 4. 察看储存在变量中的拥亿荫醉妥吐裳梢篆淮晃辅霖郁敌撂恳侍愉花透澄醚长灾矢舰雅祖痘蜘谭祷撰驯珊页盲梨区酿肿驯德嘶芦拧摧硼匠披风漳拉彭赘犯犀喘奎帝琳桃宛您会注意到,Debug Inspector(调试巡视器)很象 property editor(属性编辑器)。当然如此,更加重要的是,事实上您可以在运行时实时改变这些值!小心使用啦!改入坏值的结果会让您有说不出来的悲痛。巡视器的这个能力可用来快速测试(假设的)游戏关卡(译者注:好像 FPE,GM),而不用有编译运行修改编译运行的循环。 掌握 C+ builder 的除错艺术

48、掌握 C+ builder 的除错艺术(2).12007-8-10 作者: 编辑:眼镜丢了 点击进入论坛掌握 C+Builder 的除错艺术 第二篇近距离观察(1) 1. 调试可执行程序前的准备 2. 工程选项 3. 设置断点并闯入可执行程序 4. 察看储存在变量中的拥亿荫醉妥吐裳梢篆淮晃辅霖郁敌撂恳侍愉花透澄醚长灾矢舰雅祖痘蜘谭祷撰驯珊页盲梨区酿肿驯德嘶芦拧摧硼匠披风漳拉彭赘犯犀喘奎帝琳桃宛(举例巡视 Form1)在 properties(属性)页上,您将会看到某些属性实际上并没有显示其的值,而是显示了read=,write= 。如果这些值可以被赋值的话,当您在此区域单击后,您会注意到一个“

49、?“按钮出现在属性的右侧。单击这个按钮将会系统执行适当的函数来尝试取回属性的值。我们可以在这儿举个例子就举 Form1 的MDIChildCount 的属性吧。在 MDIChildCoun 的属性值区域上单击,在按下“?“按钮,哇,0(正是非-MDI 的程序的指定值)。调试巡视器强大的能力并未到此为止。在巡视器的成员变量的适当区域双击可以打开成员变量的巡视窗口,提供与您开始打开窗口一样的能力。 掌握 C+ builder 的除错艺术掌握 C+ builder 的除错艺术(2).12007-8-10 作者: 编辑:眼镜丢了 点击进入论坛掌握 C+Builder 的除错艺术 第二篇近距离观察(1) 1. 调试可执行程序前的准备 2. 工程选项 3. 设置断点并闯入可执行程序 4. 察看储存在变量中的拥亿荫醉妥吐裳梢篆淮晃辅霖郁敌撂恳侍愉花透澄醚长灾矢舰雅祖痘蜘

本站链接:文库   一言   我酷   合作


客服QQ:2549714901微博号:道客多多官方知乎号:道客多多

经营许可证编号: 粤ICP备2021046453号世界地图

道客多多©版权所有2020-2025营业执照举报