VC++程序调试演示 An Overview of ICU 19th International Unicode Conference

Slides:



Advertisements
Similar presentations
第四章 衛生保健及急救 組員: 4990U002 何易芳 4990U021 張書涵 4990U035 沈采柔 4990U036 王孜瑜 4990U039 許佳靜 4990U043 黃懿華 4991U002 柳瑋翎 4991U008 陳禹伶 第五組.
Advertisements

2007 年 6 月 楚雄师范学院计科系 离 散 数 学 第三章 逻辑代数 ( 上 ) 命题演算.
冠心病的中医辨证治 疗 临邑中医院 ICU 赵海云 电话: 总论 冠心病,即冠状动脉粥样硬化性心脏病,又称为 缺血性心脏病。是指冠状动脉粥样硬化导致的以 心肌缺血、缺氧为临床特征的一种心脏病。本病 好发于 40 岁以上的中老年人,男性多于女性,以 脑力劳动者居多。冠心病由于病变部位、范围及.
用印度数学提高计算速度 段志强. 讲义大纲 速算基础 充满智慧的印度数学 印度数学的十类快速计算 复习和测验 综合应用及思考.
陳于柔 1 陳映真 中國近代大儒學家徐復觀先 生,對於文學,他曾公開讚 譽陳映真是「海峽兩岸第一 人」。綜觀台灣當代文學, 如果要舉出最具代表性、最 值得推崇的小說家,我則認 為非陳映真莫屬。
上海市场首次公开发行股票 网下发行电子化方案 初步询价及累计投标询价 上海证券交易所 上市公司部.
副护士长竞聘演讲 外三科 孙丽娜. 个人经历 2004 年毕业于北京大学医学部临床护理专科 2004 年至今一直在外科系统临床一线科室从事护理工 作 。主要在泌尿外科,神经外科,胸外科,普外科, 骨科工作过,也在急诊科学习过。 2007 年取得了护师资格 2009 年取得了 ICU 资格护士认证 2012.
2013年华兴教育 广州中考志愿填报分析.
中小学教育网课程推荐网络课程 小学:剑桥少儿英语 小学数学思维训练 初中:初一、初二、初三强化提高班 人大附中同步课程
【2008年高考重庆卷】A.当冰雪皑皑之际,唯独梅花昂然绽放于枝头,对生命充满希望和自信,教人精神为之一振。
眼影的学习.
奥田2016年经销商大会传播方案.
培养目标 1.建立基本的程序设计概念体系,掌握基础程序设计方法。
肖 冰 深圳市达晨创业投资有限公司 副总裁 深圳市达晨财信创业投资管理公司 总裁
面对当前的医疗风险,怎么办? ——防范与应对
2011年10月31日是一个令人警醒的日子,世界在10月31日迎来第70亿人口。当日凌晨,成为象征性的全球第70亿名成员之一的婴儿在菲律宾降生。 ?
我在哈佛、麥肯錫 學到的一流工作術 富坂美織◎著.
初级会计实务 第八章 产品成本核算 主讲人:杨菠.
院前急诊转运 南方医科大学珠江医院急诊科 蔡学全.
外科部-特殊病例討論會(Case Conference)
來去旅行囉! ~水的循環~ 設計者:李淑珍 學校:東寧國小.
06学年度工作意见 2006年8月30日.
中考阅读 复习备考交流 西安铁一中分校 向连吾.
单片机应用技术 项目一 循环彩灯装置 第7讲 Keil软件的使用 《单片机应用技术》精品课程组 湖北职业技术学院机电工程系.
交通事故處置 當事人責任與損害賠償 屏東縣政府警察局交通隊.
安徽地税金三电子税务局 系统培训 2015年12月.
类 别 发 展 成 就 农业 的 发展 手工业的发展 商业的 繁荣 粮食作物 经济作物 纺织业 制瓷业 造船业 商业都市 对外贸易 货币
催人奋进正能量 -2013年第四季度病人反馈分析 2014年1月9日.
中央广播电视大学开放教育 成本会计(补修)期末复习
食品营养成分的检验. 食品营养成分的检验 科学探究的一般过程: 形成假设 设计方案 收集数据 表达交流 处理信息 得出结论 探究:馒头和蛋糕中是否含有淀粉和脂肪 假设:馒头和蛋糕中含有淀粉和脂肪.
人教版义务教育课程标准实验教科书 小学数学四年级上册第七单元《数学广角》 合理安排时间 248.
Visual Basic程序设计 主 编  柳青.
三级综合医院评审标准培训 中国医院协会 陈晓红.
第22章 汽车制动系 学习目标 1.掌握制动系的工作原理 2.掌握液压传动装置的结构 3.掌握气压传动装置的结构.
第一次世界大战的时候,一位法国飞行员在2 000 m高空飞行的时候,发现脸旁有一个小玩意儿在游动着,飞行员以为这是一只小昆虫,敏捷地把它一把抓了过来,令他吃惊的是,他发现他抓到的竟是一颗德国子弹!     问题:大家都知道,子弹的飞行速度是相当快的,这名法国飞行员为什么会有这么大的本领呢?为什么飞行员能抓到子弹?
中考语文积累 永宁县教研室 步正军 2015.9.
小学数学知识讲座 应用题.
倒装句之其他句式.
用智慧塑造形象 以修炼打造“合金” ——谈学生干部的形象塑造与核心竞争力
Pascal 程序设计基础.
An IBM Proof of Technology
第 22 课 孙中山的民主追求 1 .近代变法救国主张的失败教训: “师夷之长技以制 夷”“中体西用”、兴办洋务、变法维新等的失败,使孙中山
2-1 基本直流分析. 2-1 基本直流分析 新專案(Project)的建立 點選 File/New/Project.
第一章 C语言概述.
第6章 CCS集成开发环境 6.1 CCS系统安装与设置 6.2 CCS菜单和工具栏 6.3 CCS中的编译器、汇编器和链接器选项设置
陈 峦 副教授 研究院大楼316# 电子科技大学 能源科学与工程学院
簡易 Visual Studio 2010 C++ 使用手冊
微 電 腦 實 驗 Megawin MPC82G516 操作與環境設定.
第4章 PIC软件开发设计基础.
講師:戴志華 國立台灣大學電機工程研究所 Visual Basic 程式設計 講師:戴志華 國立台灣大學電機工程研究所.
單晶片MCS-51 C語言入門實習 第2章 KEIL-51工具軟體 作者:董勝源.
第三章 项目设定.
第一階段:一、電腦基本介紹 二、電腦故障排除 三、Window操作
第9章 DSP集成开发环境CCS 内容提要 CCS是TI公司推出的用于开发DSP芯片的集成开发环境,它采用Windows风格界面,集编辑、编译、链接、软件仿真、硬件调试以及实时跟踪等功能于一体,极大地方便了DSP芯片的开发与设计,是目前使用最为广泛的DSP开发软件之一。 本章对CCS开发软件的使用作了详细地介绍。首先,对CCS开发软件作了简要地说明,并介绍了该软件的安装及配置;其次,介绍了CCS的基本操作,包括:CCS的窗口和工具条、文件的编辑、反汇编窗口、存储器窗口、寄存器窗口、观察窗口
簡易 Visual Studio 2005 C++ 使用手冊
第1章 MATLAB操作基础 1.1 绪论 1.2 MATLAB概述 1.3 MATLAB的运行环境与安装 1.4 MATLAB集成环境 1.5 MATLAB帮助系统.
面山近海-臺東.
上机环境介绍 杨斌
项目2 操作系统应用 主讲:张毅.
微處理機 Microprocessor (100上)
98年度兒童課後照顧學程 修課名單確認暨課程說明會 2009/09/15(二) 08:40~09:20.
符号 目录 页 绝对寻址和符号寻址… 符号寻址- 概述… 打开符号表 编辑:查找和替换…… 查看:过滤器 … 查看:排序…… 符号表:导出
第1章 MATLAB操作基础 1. 1 MATLAB概述 1. 2 MATLAB的运行环境与安装 1. 3 MATLAB集成环境 1
MPLAB IDE 8 建立專案.
美丽的旋转.
畢氏定理(百牛大祭)的故事 張美玲 製作 資料來源:探索數學的故事(凡異出版社).
熟悉VC++开发环境.
测试功能 目录 页 程序的状态监视功能 ……………... 2 程序状态监视的模式 …………………………. 3
99 教育部專案補助計畫案明細 大類 分項 教育部補助 學校配合款 工作項目 計畫主 持人 執行期限 文號 備註 設備費 業務費 管理學院
102年人事預算編列說明 邁向頂尖大學辦公室製作.
Presentation transcript:

VC++程序调试演示 An Overview of ICU 19th International Unicode Conference San Jose, CA, September 2001

VC++程序调试演示 程序调试概述 Debugger工具栏简介 启动Debugger 变量跟踪 设置断点 快速执行到一个断点 An Overview of ICU VC++程序调试演示 程序调试概述 Debugger工具栏简介 启动Debugger 变量跟踪 设置断点 快速执行到一个断点 结束Debugger 快速查看变量类型 19th International Unicode Conference San Jose, CA, September 2001

VC++程序调试演示 程序调试概述 Debugger工具栏简介 启动Debugger 变量跟踪 设置断点 快速执行到一个断点 An Overview of ICU VC++程序调试演示 程序调试概述 Debugger工具栏简介 启动Debugger 变量跟踪 设置断点 快速执行到一个断点 结束Debugger 快速查看变量类型 19th International Unicode Conference San Jose, CA, September 2001

An Overview of ICU 程序调试概述 概述 检测和纠正错误是软件开发的重要组成部分,称这为确认与验正。确认指的是检查算法和程序是否达到了问题的技术要求,验证是指检查算法和程序是否正确和完整。 好的调试策略 定位错误的一种好的方法是使程序打印引导性结果,以及指出什么时候该程序的某一部分开始执行和结束执行的消息。 19th International Unicode Conference San Jose, CA, September 2001

程序调试概述 四种程序错误类型 查看错误消息 语法或编译时错误 连接错误 运行错误 逻辑或意图错误 An Overview of ICU 程序调试概述 四种程序错误类型 语法或编译时错误 连接错误 运行错误 逻辑或意图错误 查看错误消息 为查看产生特定诊断消息的代码语句,只要双击Output窗口中相关的诊断消息即可; 为获得一条错误消息的帮助,首先在Output窗口中使用鼠标指针单击错误消息码,然后按F1键,相应帮助文件打开。 19th International Unicode Conference San Jose, CA, September 2001

An Overview of ICU 程序调试概述 预防性维护 一条有经验的方法是桌面检查法。桌面检查一个程序类似于核对一封信或手稿,其思想是在内心对程序进行跟踪,确保程序逻辑正确。程序员必须考虑各种可能的输入,并记录程序执行期间所产生的所有结果。 19th International Unicode Conference San Jose, CA, September 2001

VC++程序调试演示 程序调试概述 Debugger工具栏简介 启动Debugger 变量跟踪 设置断点 快速执行到一个断点 An Overview of ICU VC++程序调试演示 程序调试概述 Debugger工具栏简介 启动Debugger 变量跟踪 设置断点 快速执行到一个断点 结束Debugger 快速查看变量类型 19th International Unicode Conference San Jose, CA, September 2001

Debugger工具栏简介 Restart:(CTRL+SHIFT+F5)指示VC++,用户要从 An Overview of ICU Debugger工具栏简介 Restart:(CTRL+SHIFT+F5)指示VC++,用户要从 开始处调试程序,而不是从当前所跟踪的位置开始调试 19th International Unicode Conference San Jose, CA, September 2001

Debugger工具栏简介 停止程序调试,返回到Build菜单选项 An Overview of ICU 19th International Unicode Conference San Jose, CA, September 2001

Debugger工具栏简介 在当前点上挂起程序的执行 An Overview of ICU 19th International Unicode Conference San Jose, CA, September 2001

Debugger工具栏简介 (ALT+F10)可以在程序正在调试时修改源代码 An Overview of ICU 19th International Unicode Conference San Jose, CA, September 2001

Debugger工具栏简介 (ALT+NUM)显示程序代码中的下一条语句 An Overview of ICU 19th International Unicode Conference San Jose, CA, September 2001

Debugger工具栏简介 (F11)正在跟踪的语句是一个子程序调用(函数或方法)时,该选项单步进入所调用的子程序 An Overview of ICU Debugger工具栏简介 (F11)正在跟踪的语句是一个子程序调用(函数或方法)时,该选项单步进入所调用的子程序 19th International Unicode Conference San Jose, CA, September 2001

Debugger工具栏简介 (F10)正在跟踪的语句是一个子程序调用(函数或方法)时,该选项跳过所调用的子程序,停留在子程序调用下面的语句 An Overview of ICU Debugger工具栏简介 (F10)正在跟踪的语句是一个子程序调用(函数或方法)时,该选项跳过所调用的子程序,停留在子程序调用下面的语句 19th International Unicode Conference San Jose, CA, September 2001

Debugger工具栏简介 (SHIFT+F11)确认当前子程序中没有程序错误时,该选项可以快速执行该子程序,并停留在子程序后面的语句 An Overview of ICU Debugger工具栏简介 (SHIFT+F11)确认当前子程序中没有程序错误时,该选项可以快速执行该子程序,并停留在子程序后面的语句 19th International Unicode Conference San Jose, CA, September 2001

Debugger工具栏简介 (CTRL+F10)快速执行到光标所在的代码处 An Overview of ICU 19th International Unicode Conference San Jose, CA, September 2001

Debugger工具栏简介 (SHIFT+F9)显示QuickWatch窗口,在该窗口可以计算表达式的值 An Overview of ICU Debugger工具栏简介 (SHIFT+F9)显示QuickWatch窗口,在该窗口可以计算表达式的值 19th International Unicode Conference San Jose, CA, September 2001

Debugger工具栏简介 打开Watch窗口,该窗口包含该应用程序的变量名及其当前值,以及所有选择表达式 An Overview of ICU Debugger工具栏简介 打开Watch窗口,该窗口包含该应用程序的变量名及其当前值,以及所有选择表达式 19th International Unicode Conference San Jose, CA, September 2001

Debugger工具栏简介 打开Variables窗口,该窗口包含关于当前和前面的语句中所使用的变量和返回值 An Overview of ICU Debugger工具栏简介 打开Variables窗口,该窗口包含关于当前和前面的语句中所使用的变量和返回值 19th International Unicode Conference San Jose, CA, September 2001

Debugger工具栏简介 显示Regisers窗口,显示微处理器的一般用途寄存器和CPU状态寄存器 An Overview of ICU 19th International Unicode Conference San Jose, CA, September 2001

Debugger工具栏简介 打开Memory窗口,显示该应用程序的当前内存内容 An Overview of ICU 19th International Unicode Conference San Jose, CA, September 2001

Debugger工具栏简介 显示所有未返回的被调用的子程序名 An Overview of ICU 19th International Unicode Conference San Jose, CA, September 2001

Debugger工具栏简介 打开一个包含汇编语言代码的窗口,其中的汇编语言代码来自编译后程序的反汇编 An Overview of ICU 19th International Unicode Conference San Jose, CA, September 2001

VC++程序调试演示 程序调试概述 Debugger工具栏简介 启动Debugger 变量跟踪 设置断点 快速执行到一个断点 An Overview of ICU VC++程序调试演示 程序调试概述 Debugger工具栏简介 启动Debugger 变量跟踪 设置断点 快速执行到一个断点 结束Debugger 快速查看变量类型 19th International Unicode Conference San Jose, CA, September 2001

启动Debugger 在VC++中打开源程序 An Overview of ICU 19th International Unicode Conference San Jose, CA, September 2001

启动Debugger 进入调试模式 An Overview of ICU 19th International Unicode Conference San Jose, CA, September 2001

VC++程序调试演示 程序调试概述 Debugger工具栏简介 启动Debugger 变量跟踪 设置断点 快速执行到一个断点 An Overview of ICU VC++程序调试演示 程序调试概述 Debugger工具栏简介 启动Debugger 变量跟踪 设置断点 快速执行到一个断点 结束Debugger 快速查看变量类型 19th International Unicode Conference San Jose, CA, September 2001

按F10,Auto窗口出现a,b,c三个变量,注意这三个变量还没有被赋值 An Overview of ICU 变量跟踪 按F10,Auto窗口出现a,b,c三个变量,注意这三个变量还没有被赋值 19th International Unicode Conference San Jose, CA, September 2001

按F10, a,b,c三个变量被赋值,s和area变量还没有被赋值 An Overview of ICU 变量跟踪 按F10, a,b,c三个变量被赋值,s和area变量还没有被赋值 19th International Unicode Conference San Jose, CA, September 2001

按F10, s变量被赋值,area变量还没有被赋值 An Overview of ICU 变量跟踪 按F10, s变量被赋值,area变量还没有被赋值 19th International Unicode Conference San Jose, CA, September 2001

变量跟踪 按F10, area变量被赋值 An Overview of ICU 19th International Unicode Conference San Jose, CA, September 2001

变量跟踪 按F10, 输出a,b,c,s的值 An Overview of ICU 19th International Unicode Conference San Jose, CA, September 2001

变量跟踪 按F10, 输出area的值 An Overview of ICU 19th International Unicode Conference San Jose, CA, September 2001

VC++程序调试演示 程序调试概述 Debugger工具栏简介 启动Debugger 变量跟踪 设置断点 快速执行到一个断点 An Overview of ICU VC++程序调试演示 程序调试概述 Debugger工具栏简介 启动Debugger 变量跟踪 设置断点 快速执行到一个断点 结束Debugger 快速查看变量类型 19th International Unicode Conference San Jose, CA, September 2001

设置断点 将光标放到需要设置断点的行 An Overview of ICU 19th International Unicode Conference San Jose, CA, September 2001

设置断点 点击按钮 断点设置好 An Overview of ICU 19th International Unicode Conference San Jose, CA, September 2001

VC++程序调试演示 程序调试概述 Debugger工具栏简介 启动Debugger 变量跟踪 设置断点 快速执行到一个断点 An Overview of ICU VC++程序调试演示 程序调试概述 Debugger工具栏简介 启动Debugger 变量跟踪 设置断点 快速执行到一个断点 结束Debugger 快速查看变量类型 19th International Unicode Conference San Jose, CA, September 2001

快速执行到一个断点 点击按钮 快速执行到断点设置行 An Overview of ICU 19th International Unicode Conference San Jose, CA, September 2001

3如何设置断点

在VC中,可以设置多种类型的断点,根据断点起作用的方式把这些断点分为三类: ** 与位置有关的断点; ** 与逻辑条件有关的断点 ** 与WINDOWS消息有关的断点。

与位置有关的断点; 1、最简单的是设置一般位置断点,把光标移到你要设断点的位置;然后按工具条上的add/remove breakpoint 按钮或按快捷键F9;在这一行的左边出现一个红色的圆点表示设了一个断点。

2 、当在满足一定条件的情况下才停下来,设置一种与位置有关的逻辑断点。 从EDIT 菜单中选中breakpoint命令。选中Breakpoint对话框中的LOCATION标签,使LOCATION 页面弹出。

单击condition按钮,弹出Breakpoint对话框,在Expression编辑框中写出逻辑表达式,如X>=3或a+b>25,最后按OK返回。   这种断点主要是由其位置发生作用的,但也结合了逻辑条件。

3、当需要更深入地调试程序,需要进入程序的汇编代码,在汇编代码上设立断点:从View菜单中选Debug window命令 ,再选Disassembly子命令,这时汇编窗口将会出现在屏幕上。

汇编窗口是对应于源程序的汇编代码,源程序用黑体字显示,下面是对应的汇编代码。设立断点,将光标移到想设断点处然后点击工具条上的Insert/Remove Breakpoints 按钮,将会看到一个红圆点出现在该汇编代码的右边。

与逻辑条件有关的断点 1、逻辑条件触发断点的设置: *从EDIT 菜单中选中breakpoint命令,屏幕上出现Breakpoint对话框。

* 选中Breakpoint对话框中的DATA标签,对应的页面将会弹出

* DATA页面中的Expression编辑框中写出逻辑表达式,如(X==3);

2、监视表达式发生变化断点: * 从EDIT 菜单中选中breakpoint命令,屏幕上将会出现Breakpoint对话框。 * 选中Breakpoint对话框中的DATA标签,对应的页面将会弹出。 * 在Expression编辑框中写出需要监视的表达式。 * 最后按OK键返回。

3、监视数组发生变化的断点: * 从EDIT 菜单中选中breakpoint命令,屏幕上将会出现Breakpoint对话框。 * 选中Breakpoint对话框中的DATA标签,对应的页面将会弹出。 * 在Expression编辑框中写出需要监视的数组名;在Number of Elements 编辑框输入需要监视数组元素的个数; * 按OK键返回。

4、监视由指针指向的数组发生变化的断点: * 从EDIT 菜单中选中breakpoint命令,在屏幕上将会出现Breakpoint对话框。 * 选中Breakpoint对话框中的DATA标签; * 在Expression编辑框中输入形如*pointname,其中*pointname为指针变量名;在Number of Elements编辑框输入需要监视数组元素的个数; * 最后按OK键返回。

5、监视外部变量发生变化的断点: * 从EDIT 菜单中选中breakpoint命令,屏幕上将会出现Breakpoint对话框; * 选中Breakpoint对话框中的DATA标签; * 在Expression编辑框中输入变量名; * 点击在Expression编辑框的右边的下拉键头; * 选取Advanced选项,Advanced Breakpoint 对话框出现; * 在context框中输入对应的函数名和文件名; * 按OK键关闭Advanced Breakpoint 对话框。 * 按OK键关闭Breakpoints 对话框。

4 控制程序的运行

从菜单Build到子菜单Start Debuging 选择Go程序开始运行在Debug状态下,程序会由于断点而停顿下来后,可以看到有一个小箭头,它指向即将执行的代码。按要求来控制程序的运行,其中有四条命令:Step over, step Into , Step Out ,Run to Cursor。 ◇ Step over 的功能是运行当前箭头指向的代码(只运行一条代码)。 ◇ Step Into的功能是如果当前箭头所指的代码是一个函数的调用,则用Step Into 进入该函数进行单步执行。 ◇ Step Out的功能是如当前箭头所指向的代码是在某一函数内,用它使程序运行至函数返回处。 ◇ Run to Cursor的功能是使程序运行至光标所指的代码处。

5 查看工具的使用

1、弹出式调试信息泡泡(Data Tips Pop_up Information)。 调试过程中最重要的是要观察程序在运行过程中的状态,才能找出程序的错误之处。 1、弹出式调试信息泡泡(Data Tips Pop_up Information)。 要看一个变量的值或表达式的值,只需在源程序窗口中,将鼠标放到该变量上,将会看到一个信息泡泡弹出,其中显示出该变量的值。

2、变量窗口(VARIABLE WINDOW)。 在VIEW 菜单,Debug window选 Variables window; 变量窗口将出现在屏幕上。其中显示着变量名及其对应的值。将会看到在变量观察窗口的下部有三个标签:AUTO ,LOCAL,THIS 选中不同的标签,不同类型的变量将会显示在该窗口中。

3、观察窗口(WATCH WINDOW)。 在VIEW 菜单,选择Debug window,Watch window 子命令。变量窗口将出现在屏幕上。

观察窗口中双击Name栏的某一空行,输入要查看的变量名或表达式。回车后将会看到对应的值。观察窗口可有多页,分别对应于标签Watch1,Watch2,Watch3等等。

4、快速查看变量对话框(quick watch)。(查看变量或表达式的值) (1)在Debug 菜单,选择Quick Watch,出现Quick Watch 对话框; (2)在Expression 编辑框中输入变量名,按回车; (3)在Current Value 格子中将出现变量名及其当前对应的值; (4)如要改变该变量的值双击该变量对应的Name 栏,输入要改变的值; (5)如要把该变量加入到观察窗口中,点击Add watch 按钮; (6)点击Close 按钮返回。

VC++程序调试演示 程序调试概述 Debugger工具栏简介 启动Debugger 变量跟踪 设置断点 快速执行到一个断点 An Overview of ICU VC++程序调试演示 程序调试概述 Debugger工具栏简介 启动Debugger 变量跟踪 设置断点 快速执行到一个断点 结束Debugger 快速查看变量类型 19th International Unicode Conference San Jose, CA, September 2001

结束Debugger 点击按钮,结束Debugger An Overview of ICU 19th International Unicode Conference San Jose, CA, September 2001

VC++程序调试演示 程序高度概述 Debugger工具栏简介 启动Debugger 变量跟踪 设置断点 快速执行到一个断点 An Overview of ICU VC++程序调试演示 程序高度概述 Debugger工具栏简介 启动Debugger 变量跟踪 设置断点 快速执行到一个断点 结束Debugger 快速查看变量类型 19th International Unicode Conference San Jose, CA, September 2001

快速查看变量类型 将光标停留在变量上,可以查看变量类型