问答文章1 问答文章501 问答文章1001 问答文章1501 问答文章2001 问答文章2501 问答文章3001 问答文章3501 问答文章4001 问答文章4501 问答文章5001 问答文章5501 问答文章6001 问答文章6501 问答文章7001 问答文章7501 问答文章8001 问答文章8501 问答文章9001 问答文章9501

swift debugprint是干什么用的

发布网友 发布时间:2022-04-23 07:09

我来回答

2个回答

懂视网 时间:2022-04-23 11:30

这次给大家带来如何用swift设置debug,用swift设置debug的注意事项有哪些,下面就是实战案例,一起来看一下。

在OC中可以设置 #if DEBUG #else #endif 来区分正式环境和测试环境

#if DEBUG

...... 模拟数据

#else

... 真实数据

#endif

但是在swift中没有默认标记 所以上面这种写法不起作用.但是可以通过自己手动设置,实现OC的那种效果,具体步骤如下:

在Build setting >>> 搜索 swift fl >>> 找到Other Swift Flags并展开 >>> 找到Debug并点击后面的"+"号 >>>在输入框中写上 -D DEBUG (其中-D 是固定模式 后面的DEBUG可以自定义)

1.png


设置DEBUG标识

在swift中调用和OC一样

#if DEBUG

...... 模拟数据

#else

... 真实数据

#endif

相信看了本文案例你已经掌握了方法,更多精彩请关注Gxl网其它相关文章!

推荐阅读:

怎样添加带提示功能的代码块

常用的WebStorm快捷键

验证国内手机号与座机号的正则表达式

热心网友 时间:2022-04-23 08:38

 DEBUG是一个DOS实用程序,是供程序员使用的程序调试工具,可以用它检查内存中任何地方的字节以及修改任何地方的字节。它可以用于逐指令执行某个程序以验证程序运行的正确性,也可以追踪执行过程、比较一个指令执行前后的值以及比较与移动内存中数据的范围,读写文件与磁盘扇区。
  它的功能包括以下几个方面。
  ⒈ 直接输入,更改,跟踪,运行汇编语言源程序;
  ⒉ 观察操作系统的内容;

  3.查看ROM BIOS的内容;
  ⒋观察更改RAM内部的设置值;
  ⒌以扇区或文件的方式读写软盘数据。
  A 汇编命令
  功能: 将指令直接汇编成机器码输入到内存中。
  说明: 用于小段程序的汇编及修改目标程序,所有输入的数字均采用十六进制, 用户装入内存的汇编语句是连续存放的,若没有指定地址,并且前面没有使用汇编命令,该语句被汇编到 CS:0100区域。
  例A:>DEBUG
  -a 0100
  08F1:0100 MOV AH,09
  08F1:0102 MOV DX,109
  08F1:0105 INT 21H;
  08F1:0107 INT 21H;<-XP下运行cmd debug时,应该是INT 20H,21H会出遇无效指令错误
  08F1:0109 db 'May I help you $'
  08F1:0115←离开a状态
  -g ←运行
  May I help you 运行结果
  Program terminated normally表示运行正常

  C比较命令
  功能: 比较两内存区域中的内容是否相同,若不同则显示其地址和内容。
  如:C4000:0 3F 100
  就是用来比较4000:0000-4000:003F与DS:0100-DS:013F之间的内容:其显示格式如下:
  内存地址1内含值1内含值2内存地址2
  例:比较4000:0 3F 100内容的差异
  -C4000:0 3F 100
  4000:0000 64 43 08F1:0100
  4000:0001 3E 69 08F1:0101 显示内容的差异处
  4000:0002 78 FF 08F1:0102
  ……………………………………
  如果要比较的范围在DS内,则段地址不必指出:
  如:-C 0 4 100;比较DS:0---DS:4与DS:100---DS:104
  C命令的另一种格式如下:C地址1 L 长度 地址2
  如:-C000:0 L4 0;由0000:0与与DS:0开始比较它同-C0000:0 3 0命令相等,显示结果如下:
  0000:0000 8A C0 08F1:0000
  0000:0001 10 20 08F1:0001 它们都比较4个字节
  0000:0002 1C 00 08F1:0002
  0000:0003 49 7F 08F1:0003

  转储命令
  * D[地址] 或D[起始地址][目的地址] 转储命令
  功能: 以内存映象方式显示内存中的信息。
  说明: 转储用左右两部分显示内存映象内容,左边以十六进制,右边以ASCⅡ字符显示,所有不可打印字符用句号(。)表示。每行显示16个字节的内容,在第八和第九个字节之间有一个连字符 - 此命令隐含的段地址为DS的值。若未指定起始地址,则D命令从显示的最后一个单元的下一个单元开始显示,若以前没有使用给D命令, 则从初使化的段寄存器的内容,加上地址偏移量 0100H 开始显示。
  例:-d10,4f即为显示DS:4f的内容在D命令中如不指出段地址,则其默认为DS段。
  如指明段地址,则从指明的段地址列出指定的范围
  如:-dfff:00:0f
  我们也可以指定长度来列出所需要内存内容
  如:-d 100 L20即为显示由DS:100-DS:11F的内容,共20H个字节:
  * E[地址] [字节串) 修改内存命令
  功能: 从指定的地址开始修改内存值。
  格式:E起始地址[数据行]
  ⑴用给定内容代替指定范围的单元内容
  -E地址 内容表
  例:-E100 41 42 43 44 48 47 46 45
  -D 100,L08
  08F1:0100 41 42 43 44 48 47 46 45 ABCDHGFE…
  ⑵逐个内存内容
  例:-E 100:
  08F1:0100 76 42 :42是操作员键入
  此命令是将原100号内存内容76修改为42,用D命令可察看。
  * F[地址范围] [字节或字节串] 填写命令
  功能: 将要填写的字节或字节串填入由地址范围指定的存储器中。
  例:-f100 120 61 62 63 64
  -d100 11f
  08F1:0100 61 62 63 64 61 62 63 64 -61 62 63 64 61 62 63 abcd abcd abcd abcd
  08F1:0110 13 67 98 E3 C8 2E B3 B6 -03 21 AC 19 3121 4E 96 g……1…
  如果数据行超出指定的范围,则填不下的数值会被忽略。
  例:-f 100 107 41 43 43 44 45 46 47 48 49 4A 4B 4C 4D -d 100,lof
  08F1:0100 41 42 43 44 45 46 47 64 -61 62 63 64 ABCDEFGdabcdabcd
  由上例可看出,超出范围的数据被忽略
  另外,F和E命令都可填入字符串:
  如:-F 100 105 "MSDOS"
  -d 100 l0f
  08F1:0100 4D 53 44 4F 53 46 47 64 -61 62 63 64 MS DOS FGabcd abcd

  G执行命令
  功能: 执行正在调试的程序,当达到断点时停止执行, 并且显示寄存器标志和下一条要执行的命令。
  说明: 如果没有指定起始地址,那么当前指令地址由CS,IP寄存器的内容来决定,如果用户指定起始地址就从指定的起始地址开始执行。如果指定断点,当指令到达指令地址时停止执行,并显示各寄存器标志位的内容和下一条要执行的命令,最多允许用户设定10个断点。
  例:A:\>debug tan.exe
  -u:反编译成汇编语言程码
  …………
  . .
  -g 100 指定中断点
  Program terminated normally:
  另外:我们在DEBUG下可运行一个文件.EXE
  如:A:\>debug tan.exe
  -g
  即可开始运行此程序,和在DOS下完全一样:
  * H[数值][数值] 十六进制算术运算命令
  功能: 分别显示两个十六进制数相加的和以及第一个数减去第二个数的差。
  说明: 替用户完成简单的十六进制数的运算。
  例:-h4538 5623
  9B5B EF15

  I命令
  功能: 从指定的端口输入并显示(用十六进制)的一个字节。
  例:-i70
  F9;显示70端口的内容为F9
  I命令可由80X86的64K个端口取数据

  L命令
  功能: 将一个文件或盘的绝对扇区装入存储器。
  说明: 单个L命令能够装入的最大扇区数是 80H,其中盘号 0,1,2,3……分别代表 A,B,C,……出现读盘错,显示错误信息。
  ⑴格式1.L装入地址 驱动器名 起始扇区/扇区数
  这种方式可把磁盘上指定扇区范围的内容装入到存储器从指定地址开始的区域中,在此外扇区编号引用逻辑/扇区的方式。
  例:-L 100 0 01,将A驱的0扇区装至CS:100上
  -d 100 10f
  08F1:0100 EB 3C 90 3C 53 44 4F 53 -36 2E 32 32 02 01 01 00.L,MSDOS 6.22……
  ⑵格式2:L装入地址
  这种方式可把指定文件装入内存,装入的文件可在进入DEBUG时指定亦可用N命令建立,格式为-n文件名:
  例1 DEBUG tan.pas
  -L 100
  例2 DEBUG
  -n tan.pas
  -L 100
  须知:L命令只能读取逻辑扇区,不能读取硬盘分区表
  L命令中所用的磁盘代码A=00,B=01,C=02……
声明声明:本网页内容为用户发布,旨在传播知识,不代表本网认同其观点,若有侵权等问题请及时与本网联系,我们将在第一时间删除处理。E-MAIL:11247931@qq.com
容易发财的房地产中介公司名字 我想对自己的房子进行房产评估,去哪里办理,需要... 改字体的时候不小心改错了,全变成格仔了怎么办 手机文件不小心改错名字了怎么办 女生每天早晚各跑步一个小时,配合饮食,一个月瘦多少? 每天早晚各慢跑一小时.一个月能瘦多少斤 爱剪辑怎么去水印 给视频去水印方法 游戏本关机时可以晃吗? 笔记本玩游戏CPU温度高,会花屏 打剑网三一小时声音大,发热,还能继续吗? MAXMARA羊绒短外套 怎么找出来名称和数字的不同 周大生品牌推广方法 秋天到了,田野里的虫子发生了什么故事 蚜虫蚂蚁和瓢虫的读后感 秋天到了田野里小虫儿之间发生了什么事编故事 蚂蚁的秘密作文最有科学感的结尾70字 啊!我发现了蚂蚁的秘密 童话故事~~~ swift中怎么设置参数的只读属性 中国企业黄页有哪位高人知道拜托告诉下,感谢了。 想把几个电影的片段剪切在一起,然后换成自己的配音,怎么弄? 山泉水;烧开后的白开水到底能放几天还能喝? 护发素不能涂在发根,这是为什么? 白开水是不是放多久都可以喝? 白开水超过24小时能喝吗? 白开水也有保质期,你了解白开水超过3天不能喝吗? 白开水超过几天不能喝 白开水超过三天不能喝,有科学依据吗? 28岁转行做IT,去中软培训,找工作靠谱吗? 哈士奇的眼睛 有红色和蓝色的么 阿拉斯加或者哈士奇有红色眼睛的吗 漫画作文对牛弹琴写一篇作文 怎么在电脑上直接登录 对牛弹琴的作者是谁? 对牛弹琴是谁写的? 对牛弹琴改写成四百字左右的记叙文 对牛弹琴的读后感怎么写? 对牛弹琴这个例子,来写现代怎么用音乐来养牛的作文 对牛弹琴下一句写什么 对牛弹琴中写景的成语 两个月的金毛能吃什么 两个月的金毛打什么疫苗 针对新的供应商,你是如何导入的? 对象存储swift如何调试 采购面试,考官问,开发到合格供应商的流程 医保交500多实际能用多少 两个月左右的小金毛回家后需要注意什么 医保每个月缴纳374交了三个月可以用多少 erp系统增添供应商流程是怎样的?