lazarus教程
- 格式:pdf
- 大小:447.26 KB
- 文档页数:9
华为⼿机内核代码的编译及刷⼊教程【通过魔改华为P9AndroidKernel对抗反调试机制】0x00 写在前⾯攻防对⽴。
程序调试与反调试之间的对抗是⼀个永恒的主题。
在安卓逆向⼯程实践中,通过修改和编译安卓内核源码来对抗反调试是⼀种常见的⽅法。
但⽹上关于此类的资料⽐较少,且都是基于AOSP(即"Android 开放源代码项⽬",可以理解为原⽣安卓源码)进⾏修改,然后编译成⼆进制镜像再刷⼊Nexus 或者Pixel 等⾕歌亲⼉⼦⼿机。
但因为⾕歌的亲⼉⼦在国内没有⾏货销售渠道,市场占有率更多的是国产⼿机,⽽修改国产⼿机系统内核的教程却很少,加之部分国产⼿机的安卓内核和主线 AOSP 存在些许差异,照搬原⽣安卓代码的修改⽅法⽆法在国产⼿机上实现某些功能,甚⾄⽆法编译成功。
所以本⽂以某国产⼿机为例,通过研究其内核源码,对关键代码进⾏分析、修改,编译内核、打包成刷机镜像,对全过程予以展⽰。
0x01 常见反调试⼿段及对抗策略简介在安卓程序的开发过程中,反调试的⼿段有很多种,简单列举若⼲:(1) 检测特定进程或端⼝号。
如 IDA Pro 在对安卓应⽤进⾏调试时,需要在⼿机端启动调试程序 android_server ,该调试程序默认开启端⼝23946。
⽬标程序若发现⼿机⾥有 android_server 进程或开启了端⼝23946,⽬标程序就⾃动退出,以达到反调试的⽬的。
(2)检测某些关键⽂件的状态。
如⽬标程序在调试状态时,Linux内核会向部分系统⽂件内写⼊⼀些进程状态信息,包括但不限于向 “ /proc/⽬标程序pid/status ” 这⼀⽂件的 TracerPid 字段写⼊调试进程的 pid 。
有部分程序会检查这些字段,⽐如⽬标程序发现对应的 TracerPid 不等于 0 ,则说明⾃⼰本⾝正在被别的程序调试,⽐如:(Pid为19707的进程正在被Pid为24741的进程调试)(3)检测软件断点。
lazarus pas2js 例子Lazarus Pas2JS示例简介Lazarus Pas2JS是一种能够将Delphi/Pascal代码转换为JavaScript的工具,使开发者能够在Web上运行原本为桌面应用程序设计的代码。
这种技术可以使软件开发者更方便地将现有的Delphi/Pascal代码迁移到Web平台上,以提供在线应用的功能。
通过Lazarus Pas2JS,开发者可以利用现有的Delphi/Pascal代码基础来创建交互式的Web应用程序。
它提供了丰富的功能和库,使开发者能够轻松地实现用户界面和数据交互等功能。
通过这个工具,开发者可以在不改变原始代码的情况下,使用Web技术来部署应用程序并实现跨平台的兼容性。
下面是一个简单的Lazarus Pas2JS示例,展示了如何在Web中创建一个简单的计算器应用程序:```program Calculator;useswebtypes, w3c.utils, w3c.dom;typeTCalculator = classprivateFNumber1: Integer;FNumber2: Integer;FResult: Integer;publicconstructor Create;procedure Add;procedure Subtract;procedure Multiply;procedure Divide;procedure UpdateResultElement; end;constructor TCalculator.Create; beginFNumber1 := 0;FNumber2 := 0;FResult := 0;end;procedure TCalculator.Add;beginFResult := FNumber1 + FNumber2; UpdateResultElement;end;procedure TCalculator.Subtract; beginFResult := FNumber1 - FNumber2;UpdateResultElement;end;procedure TCalculator.Multiply;beginFResult := FNumber1 * FNumber2;UpdateResultElement;end;procedure TCalculator.Divide;beginif FNumber2 <> 0 thenFResult := FNumber1 div FNumber2elseFResult := 0;UpdateResultElement;end;procedure TCalculator.UpdateResultElement;varResultElement: JElement;beginResultElement := document.getElementById('result');ResultElement.innerHTML := IntToStr(FResult); end;varCalculator: TCalculator;procedure OnAddButtonClick(Sender: TObject); beginCalculator.Add;end;procedure OnSubtractButtonClick(Sender: TObject); beginCalculator.Subtract;end;procedure OnMultiplyButtonClick(Sender: TObject); beginCalculator.Multiply;end;procedure OnDivideButtonClick(Sender: TObject); beginCalculator.Divide;end;procedure Initialize;varAddButton, SubtractButton, MultiplyButton, DivideButton: JElement;beginCalculator := TCalculator.Create;AddButton := document.getElementById('addButton');SubtractButton := document.getElementById('subtractButton');MultiplyButton := document.getElementById('multiplyButton');DivideButton := document.getElementById('divideButton');AddButton.addEventListener('click', @OnAddButtonClick);SubtractButton.addEventListener('click', @OnSubtractButtonClick);MultiplyButton.addEventListener('click', @OnMultiplyButtonClick);DivideButton.addEventListener('click', @OnDivideButtonClick);end;beginInitialize;end.```上述示例展示了一个简单的计算器应用程序,用户可以在网页上输入两个数字,然后选择加法、减法、乘法或除法操作,并点击对应的按钮进行计算。
第一章游戏概述课程名称:游戏概述本次授课内容:游戏的含义、特点及地位授课教师姓名:岳玉阁职称:讲师所在教学单位:教育系授课对象:09级学前教育授课时数:6课时授课周次:3周课程类别:专业基础课授课方式(讲课实验实习设计):讲课教材名称及版本:《学前儿童游戏教程》复旦大学出版社2006年版本单元或章节的教学目的与要求1.通过对游戏的经典学说的学习,能够对游戏有一个初步的认识。
2.掌握儿童游戏的特征。
3.理解儿童游戏在幼儿园中的重要地位。
4.了解儿童游戏的分类。
授课主要内容及学时分配1.游戏的经典学说的学习2.儿童游戏的特征。
3.儿童游戏在幼儿园中的重要地位。
4.儿童游戏的分类。
重点、难点及对学生的要求(掌握、熟悉、了解、自学)1.游戏的经典学说。
2.儿童游戏的特征。
辅助教学情况(多媒体课件、板书、绘图、标本、示教等)多媒体课件复习思考题思考题:你比较赞同哪一种关于游戏含义的观点,为什么?你认为游戏应该怎样界定?说说你的看法参考教材(资料)1.翟理红主编《学前儿童游戏教程》复旦大学出版社,2006,9.2.邱学青《学前儿童游戏》江苏教育出版社,2005,8.3.华爱华《幼儿游戏理论》上海教育出版社,2004,7.第一节游戏的定义游戏是一种广泛存在的社会生活现象,在大街小巷我们到处可见玩耍的儿童。
有了人类就有了游戏,游戏随着人类社会的持续进步而不断发展,人们从不同的角度关注着儿童游戏的行为,许多心理学家和教育学家都提出了自己的游戏理论。
由于他们研究的角度和对象不同,因此,对游戏的本质作了种种不同的解释。
又由于他们所处的时代和心理学发展水平不同,因而形成了各种不同学派的游戏理论。
在这里,我们采用国外经典的游戏理论来了解游戏。
19世纪下半叶到20世纪30年代左右,是儿童游戏研究的初兴阶段。
在这一阶段出现了最早的一批游戏理论,被称为“经典的游戏理论”。
下面我们逐一来介绍。
一、剩余精力说代表人物:德国思想家、诗人席勒(J.C.F.Schiller)和英国社会学家、心理学家斯宾塞(H.Spencer)。
OPERATING MANUAL FOR ROLL STAND ASSEMBLIESINSTALLATIONInstall the complete mounting system in accordance with separately printed instructions.ADJUSTMENTS:SWIVEL: GCX Roll Stands are designed with “heads” that either swivel or are fixed. To rotate a “fixed”head Roll Stand, simply unlock the locking casters, rotate that entire Roll Stand andre-lock the casters, if necessary.To swivel or rotate a Roll Stand with a swivel feature:1. Activate or lock all of the locking casters.2. Push on one or two corners of the monitor. Depending on the size and weight of the monitor,it may be necessary to place one foot onto the Roll Stand Base in order to swivel the monitorwithout swiveling the base.TILT: GCX Roll Stands are designed with three types of Tilt Heads as well as a fixed head design.Identify t he type of head included with the Roll Stand and follow the appropriate instructions.Roll Stands with Tilt-Swivel Heads:1. Grasp the top and/or bottom of the device and tilt to desired angle.2. To adjust tension, tighten or loosen the socket head screw (Tension Adjustment Screw) located atthe top of the Tilt-Swivel Head using the supplied 5/32”/4 mm hex key.3. To adjust swivel tension, tighten or loosen the socket head screw (Swivel Adjustment Screw)located on the side of the Roll Stand Post using the supplied 2.5 mm hex key.Roll Stands with Tilt Heads that include the Tilt Adjustment Screw:1. Remove monitor from mount.2. Remove Tilt Head and Mounting Plate from Column.3. Rotate Tilt Adjustment Screw (with Bladed Screw Driver) to desired angle.4. Replace Tilt Head into column.5. Replace monitor onto mounting assembly.Roll Stands with Bi-Directional Tilt Heads:1. Loosen the adjustment lever.2. Set the instrument at the desired angle.3. Tighten the adjustment lever.Roll Stands with Manual Tilt Assemblies:1. Loosen adjustment lever (if included with the assembly).2. Grasp the top and/or bottom of the monitor/display and tilt to the desired angle.3. Tighten adjustable lever (if included with the assembly).4. To adjust the tilting tension, evenly tighten or loosen the (2) #8–32 X ½” SHCS (TensionAdjustment Screws) with the hex key provided.ELEVATION: Some Roll Stand Assemblies include an adjustable height feature.To adjust the elevation:1. Loosen the adjustment knob.2. Position the instrument at the desired elevation.3. Tighten the adjustment knob.CASTERS:GCX Roll Stands include (2) locking casters. To activate the locking mechanism, simply push down on the locking pedal. To release the lock, simply position your foot below the pedal and lift up until the lock has been released.MAINTENANCE:It is recommended that all the fasteners associated with the mounting system be periodically checked and tightened as necessary.CLEANING:The Roll Stand can be cleaned with any non–abrasive solution as approved by the facility in which the product will be used.OPERATING MANUAL FOR ROLL STAND ASSEMBLIESAttach roll stand post to the base using the 5/16”-18 X ¾” bolt, split lock washer, and the 5/16” flat washer provided: Roll Stand PostRoll Stand Base5/16” X 2” Flat Washer (1)5/16”-18 X 3/4” Bolt (1)Optional:Counter Weight fits around Core of Roll Stand Base.Carefully lean the Post onto the floor, exposing the undersideof the Base.Place the Counter Weight onto the core of the Base. The CounterWeight has been machined to fit snugly onto the core detail.Secure the Counter Weight using the 5/16”-18 x 2” HHCS andfender washer provided. Firmly tighten this bolt.Split Lock Washer (1)OPERATING MANUAL FOR ROLL STAND ASSEMBLIES – TILT ADJUSTMENTSRoll Stands with Tilt-Swivel HeadMounting Plate Tilt Swivel HeadTilt AdjustmentScrewSwivel Adjustment Screw。
开发利器 Lazarus 入门级别: 初级曹江华 (goodcjh1@ ), 自由撰稿人 2003 年 5 月 10 日Lazarus 是一个用于Free Pascal 的快速应用开发(RAD )的面向对象的Pascal 集成开发环境(IDE )。
Lazarus 是一个用于Free Pascal 的快速应用开发(RAD )的面向对象的Pascal 集成开发环境(IDE )。
Lazarus 对于窗口管理来说是中性的。
可以工作在KDE (1.13版本)下,也可以工作在GNOME (1.23版本)或其他窗口管理器(MVM 、WindowMaker )。
Lazarus 的设计目标是应用Free Pascal ,所以所有凡是Free Pascal 能运行的平台,Lazarus 也可以运行。
最新版本能运行于Linux ,Win9x/2000/xp 和FreeBSD 。
Lazarus 的工作界面、外观和操作和Borland 的Delphi IDE 非常相似,所不同的是Lazarus 是完全的自由软件。
Lazarus 可以直接移植Delphi 的代码。
Lazarus 的编程语言是以Pascal 为基础的。
Pascal 语言具有可读性好、编写容易的特点,这使得它很适合作为基础的开发语言。
同时,使用编译器创建的应用程序只生成单个可执行文件(.EXE),正是这种结合,使得Pascal 成为Lazarus 这种先进开发环境的编程语言。
在Linux 中,Lazarus 的图形用户接口(GUI) 由以下几个部分组成:• 窗口系统--组织显示屏上的图形输出并执行基本的文本和绘图功能。
• 窗口管理器--负责对窗口的操作(比如最小化、最大化、关闭按钮的形状,窗口边框外观等)以及输入焦点的管理。
•工具包--带有明确定义的编程界面的常规库。
Lazarus 对系统软件、硬件要求都不高:硬件方面:Intel Pentium 200MHz 、32MB 内存、100MB 硬盘空间。
XNA Posing Studio教程XNALara版本升至9.8之后更名为XPS(XNA Posing Studio)。
软件的维护升级似乎也已转由XNAaraL 进行。
XPS 10之后支持动画。
现今DeviantART上已经有人从游戏中提取出AC的角色模型可供这款软件使用,下面掩饰所使用的模型也均为游戏中所提取1.首先你需要先从微软下载Microsoft .NET Framework 3.5(Win7自带可不装)安装,/downloads/details.aspx?familyid=333325FD-AE52-4E35-B531-508D977D32 A6&displaylang=en2.然后是下载Microsoft XNA Framework安装,/downloads/details.aspx?FamilyId=6521D889-5414-49B8-AB32-E3FFF05A4C 50&displaylang=en3.接着下载XPS10,绿色无需安装,已打包前两项/file/e7iwaef8或者官网下载,需注册。
xnalara. /t183-xnalara-xna-posing-studio-10854.下载好所需的角色模型,Ezio,Altair神马的/file/bejl4do25丰富的其它游戏模型(角色,物品,环境)的下载地址(涉及所有主流游戏):/gallery/https:///?cid=4A3E70355112C6C4&id=4A3E70355112C6C4!176/showthread.php?t=151335解压下载好的XPS,打开软件目录后把下载下来的角色模型解压后放到data这这个文件夹,这里我用的是Ezio和Christina 软件界面是英文的,暂时没有汉化,将就点选择file->add model,就可以看见之前放在data下的模型,这里我们选择ezio很酷,是吧,用鼠标左键试着移动一下,各个角度都是可见的,鼠标滚轮可以放大下面我们来说一下软件怎么使用,首先model这项是模型,也就是你导入了多少个模型,这里就分别有多少个模型可选然后pos,这是模型的坐标值,分别对应XYZ轴,试着输入一下感觉不同的位置变化Scale是模型大小右边的滑块区域是调整身体的各个部位的位置用的,分别对应XYZ轴,height是模型的离地高度,默认是零,一般不用调整。
Lazarus IDE中文版安装在线软件包管理器
1、打开Lazarus IDE,选择包(C)---->安装/卸载包…
2、在打开的安装/卸载包窗口中,在可用于安装栏中,找到并单选onlinepakagemanger 1.0,选择安装选择,此时onlinepakagemanger 1.0出现在安装栏中,选择保存并重新构建IDE
3、在打开的确认新包设置对于IDE窗口中,选择继续,等待自动编译完成
4、编译完成后,在Lazarus IDE中包(C)下出现在线软件包管理器,选择并单击在线软件包管理器
5、在打开的在线软件包管理器窗口中,即可选择任意软件包单击下面的安装按键进行在线软件包安装
6、卸载方法,同以上相反。
(1)安卓手机快速开发 Lazarus Laz4android v1.3 系统安装By lissdd 如花一、准备Java坏境1、Java机下载并安装Java-F7U60-i586.exe2、NDK下载android-ndk-r9d-windows-x86.zip解压后备用3、SDK下载adt-bundle-windows-x86-20140321.zip解压后备用二、安装 Lazarus下载laz4android1.3-43585-FPC2.7.1-New.7z解压。
1、编译laz得到目录laz4android, 进入编辑文件 built.bat修改其中:SET FPC_BIN_PATH=D:\dev\delphi\lazarus\laz4android为正确的目录保存后运行build.bat, 约3分钟后编译完成2、运行laz运行startlazarus.exe,首次运行会有一个提示对话,不管,直接”start IDE”打开\examples\androidlcl\androidlcltest.lpr 工程文件,3、配置工程菜单”Project”->”Project Option..”打开工程配置图一、工程配置点击“Librariyes”路径设置如图一找到第二步已经解压好的NDK目录,点击“Delete Invalid Paths”删除无效路径,加入新路径:android-ndk-r9d\toolchains\arm-linux-androideabi-4.6\prebuilt\windows\lib\gcc\arm-linux-androideabi\4.6和android-ndk-r9d\platforms\android-8\arch-arm\usr\lib如图二红线圈出部分图二、设置NDK路径该新路径根据个人NDK版本选择有所变化设置目标平台左下角的Config and Target右边一定要把Target OS (默认为Linux,害我2个小时),拉选为“android”如图三红线圈出部分,否则编译时会得到如下错误:“Fatal: cannot find unit system used by fcllaz of package FCL"图三、设置编译目标4、编译例子“OK”确定配置后, 就可以shift + F9 等待不到一分钟后,就可以在目录:\examples\androidlcl\android\libs\armeabi 下发现编译成的liblclapp文件,但不知为何没有扩展名, 加上.so吧,阿门!图四、成功编译5、制作APK包(1)生成Key:修改\examples\androidlcl\android\generate_debug_key.bat中的路径为本地正确路径我的为:SET PATH=D:\dev\delphi\lazarus\adt-bundle-windows-x86-20140321\sdk\tools\;D:\dev\delphi\lazarus\adt-bundle-windows-x86-20140321\sdk\platform-tools\;C:\ProgramFiles\Java\jdk1.7.0_60\bin\SET APP_NAME=androidlcltestSET ANDROID_HOME=D:\dev\delphi\lazarus\adt-bundle-windows-x86-20140321\sdkSET APK_SDK_PLATFORM=D:\dev\delphi\lazarus\adt-bundle-windows-x86-20140321\sdk\platforms\android-19 SETAPK_PROJECT_PATH=D:\dev\delphi\lazarus\laz4android\exampl es\androidlcl\android运行时要求输入密码,记住,下次要用的图五、生成Key 需要填写密码等运行生成\bin\LCLDebugKey.keystore文件(2)、打包生成APK用批处理文件\examples\androidlcl\android\build_debug_apk.bat ,但它调用了apkbuilder.bat 和dx.bat会引起版本不同找不到apkbuilder.jar等问题,故改用网友truetom 提供的build_debug_apk.bat ,他用鸟语说该文件:In this batch file, as you saw , my batch file is not called apkbuilder.bat and dx.bat.So it can used to any version of Andrid SDK即:无版本问题,适用各种版本的SDK哦!再次感谢鸟语鸟人网友truetom 在论坛中提供的build_debug_apk.bat其中有一行:jarsigner -verbose -keystore bin\LCLDebugKey.keystore -keypass123456-storepass123456-signedjar bin\%APP_NAME%-unaligned.apk bin\%APP_NAME%-unsigned.apk LCLDebugKey蓝色的123456即刚才生成Key时第(1)步generate_debug_key.bat运行时要求你输入的密码,修改到一致。
Lazarus简明使用手册
1介绍
Lazarus是一个免费的使用Freepascal编译器作为后台编译器的pascal集成开发环境。
Lazarus由Pascal编写而成,界面风格类似Delphi,具有强大的程序开发功能。
图一是在运行中的Lazarus:
图一
图中,窗口1是主窗口,窗口2是对象属性窗口,窗口3是源码编辑窗口,窗口4是程序中的窗口布局。
在NOI比赛中,不会用到窗口2和窗口4。
2安装Lazarus
2.1获取Lazarus的RedHat Linux 9.0安装文件
当前版本Lazarus需要的安装文件有三个,它们是:fpc-1.9.8-0.i586.rpm、fpcsrc-1.9.8-050225.i386.rpm、lazarus-0.9.6-fpc_1.9.8_0.i386.rpm,这三个文件的下载地址分别为:
/lazarus/fpc-1.9.8-0.i586.rpm?download
/lazarus/fpcsrc-1.9.8-050225.i386.rpm?downl oad
/lazarus/lazarus-0.9.6-fpc_1.9.8_0.i386.rpm?d
ownload
2.2在RedHat Linux 9.0上安装Lazarus
使用root用户登录Linux,在终端中进入安装文件所在目录,并输入如下命令安装Lazarus。
rpm –Uvh fpc-1.9.8-0.i586.rpm
rpm –Uvh fpcsrc-1.9.8-050225.i386.rpm
rpm –Uvh lazarus-0.9.6-fpc_1.9.8_0.i386.rpm
2.3在RedHat Linux 9.0上安装高版本的gdb
为使Lazarus在RedHat Linux 9.0下正确调试程序,需要安装高版本的gdb。
用户可以通过中国计算机学会的网站,下载gdb 6.3的RedHat Linux 9.0下的安装文件:gdb-6.3.0.0-1.10.i386.rpm。
使用root用户登录Linux,在终端中进入安装文件所在目录,并输入命令rpm –hUv gdb-6.3.0.0-1.10.i386.rpm
回车执行该命令安装gdb 6.3。
3初次使用Lazarus
3.1启动Lazarus
在终端中输入Lazarus命令,回车执行该命令即可以启动Lazarus集成开发环境。
3.2主窗口
在Lazarus界面的主窗口中,包含了主菜单,常用工具条。
如图二所示
图二
主菜单包括File(文件)、Edit(编辑)、Search(查找)、View(视图)、Project (工程)、Run(运行)、Components(组件)、Tools(工具)、Environment(环境)、Windows(窗口)、Help(帮助)。
在主窗口的左下角,有几个常用的工具按钮:局
比辑会入;
图三
4建立程序
Lazarus下,采用“工程”来管理生成同一程序的源代码,因此在开始编写一个新的程序时,需要先为此程序建立一个工程。
4.1新建工程
从主菜单中选择,“File”->“New…”,此时会弹出如图四所示的对话框:
图四
选择Custom Program,并点击OK。
此时,将生成一个新的工程,且自动生成一个源程序模板,并在源码编辑窗口中显示该模版。
如图五所示:
图五
此时的工程名以及生成的源程序模板的文件名并不是用户所需要的,而且并未保存到磁盘上,因此,必须对此工程进行保存并将文件名改为所需要的名字。
选择主菜单“File”->“Save”,弹出保存对话框,如图六所示:
图六
选择指定保存的目录,并在填入工程名。
注意,工程名的主文件名必须为指定的程序名,并且,工程名必须以.lpi作为扩展名。
点击OK后,在指定保存的目录下,将保存两个文件,一个是工程文件,以.lpi作为扩展名;另一个是源代码文件,以.pas作为扩展名。
这两个文件的主文件名均为指定的程序名。
例如:比赛题目的名字叫game,那么在保存工程时,应该选择指定的目录(即选手竞赛用户主目录下的game目录),并输入game.lpi作为工程名。
在点击OK后,将在指定的目录下,出现game.lpi、game.pas 两个文件。
此时,可以在源码编辑窗口中开始编辑源码。
4.2编译建立程序
源代码文件编辑保存完成后,可以开始编译建立程序。
选择主菜单中的“Run”->“Build”,或者使用快捷键Ctrl+F9,即可开始编译创建程序。
在编译的过程中,将会弹出消息窗口,并在其中看到编译器输出的信息。
如果编译过程中出现错误,可以单击错误信息定位到源代码中对应的地方,如图七所示。
图七
如果正确地编译建立了程序,生成的可执行程序将存放在与源代码所在目录中。
程序名为源代码文件名的主文件名字,如:源代码文件名为test.pas,生成的可执行程序为test。
4.3运行程序
正确创建了可执行文件后,可以运行该程序观察运行结果是否正确。
点击主
菜单“Run”->“Run”,或者使用快捷键F9,或者点击Lazarus主窗口中的
图八
5调试
5.1过程调试
过程调试包括“步入”(Step into)、“跳过”(Step over)、“执行到光标”(Run to cursor)三个调试操作,分别对应快捷键F7、F8、F4。
用户也可以通过点击主菜单“Run”中对应的菜单项,来完成相应的功能。
也可以点击Lazarus主窗口上的
图九
5.3变量察看
Lazarus的变量察看功能分为两部分:局部变量察看、观测点察看。
5.3.1局部变量察看
局部变量察看功能在调试过程中,实时显示当前所在函数的局部变量的变化。
点击主菜单“View”->“Debug windows”->“Local V ariables”,可显示局部变量察看窗口,如图十右下角所示。
5.3.2观测点察看
观测点察看功能在调试过程中,实时显示用户关心的变量或者表达式的值的变化。
点击主菜单“View”->“Debug windows”->“Watches”,可显示观测点察看窗口,如图十左下角所示:
用户可以在观测点察看窗口中右击鼠标,选择“Add”,并在随后的对话框中输入自己希望看到的变量或者表达式,确定后即将该变量或者表达式加入了观察项目中。
用户也可以选中已有的观测点并右击鼠标,选择“Delete”,将选中的观测点去掉。
图十。