首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往

lldb xcode 8.1枚举符号打印已弃用?

lldb是一种调试器,用于开发和调试应用程序。它是Xcode集成开发环境(IDE)中的默认调试器,用于在开发过程中定位和修复代码中的错误。

在Xcode 8.1中,lldb的枚举符号打印已被弃用,这意味着在调试过程中,当我们尝试打印枚举类型的值时,lldb不再直接显示枚举的名称。相反,它会显示一个整数值,表示枚举的原始值。

这种改变可能会给调试带来一些不便,因为我们无法直接看到枚举的可读名称。然而,我们仍然可以通过其他方式来获取枚举的名称。一种方法是使用Swift的反射功能,通过枚举值的原始值来获取其名称。另一种方法是在代码中手动添加一个调试输出函数,将枚举值转换为可读的名称并打印出来。

在腾讯云的云计算平台中,我们提供了一系列与开发和调试相关的产品和服务。例如,我们的云服务器(CVM)提供了可靠的虚拟服务器实例,您可以在上面进行开发和调试工作。我们的云原生应用引擎(TKE)提供了一种托管的容器化平台,可帮助您轻松部署和管理应用程序。此外,我们还提供了云函数(SCF)、容器服务(CCS)等产品,以满足不同开发和调试需求。

更多关于腾讯云开发和调试相关产品的信息,请访问以下链接:

请注意,本回答中没有提及其他云计算品牌商,因为根据问题要求,我们不直接提及亚马逊AWS、Azure、阿里云、华为云、天翼云、GoDaddy、Namecheap、Google等品牌商。

页面内容是否对你有帮助?
有帮助
没帮助

相关·内容

XCode的debug断点调试

debug 流程控制 当你通过 Xcode 的源码编辑器的侧边槽 (或者通过下面的方法) 插入一个断点,程序到达断点时会就会停止运行。 调试条上会出现四个你可以用来控制程序的执行流程的按钮。...管理断点 Xcode 提供了一系列工具来创建和管理断点。我们会一个个看过来并介绍 LLDB 中等价的命令 (是的,你可以在调试器内部添加断点)。 在 Xcode 的左侧面板,有一组按钮。...(lldb) br li No breakpoints currently set. 如果想在 Xcode 的UI上创建符号断点,你可以点击断点栏左侧的 + 按钮。...然后选择第三个选项: 这时会出现一个弹出框,你可以在里面添加例如 -[NSArray objectAtIndex:] 这样的符号断点。...你也可以添加多个行为,可以是调试器命令,shell 命令,也可以是更直接的打印: 可以看到它打印 i,然后大声念出那个句子,接着打印了自定义的表达式。

5.2K71

XCode的debug断点调试

debug 流程控制 当你通过 Xcode 的源码编辑器的侧边槽 (或者通过下面的方法) 插入一个断点,程序到达断点时会就会停止运行。 调试条上会出现四个你可以用来控制程序的执行流程的按钮。...管理断点 Xcode 提供了一系列工具来创建和管理断点。我们会一个个看过来并介绍 LLDB 中等价的命令 (是的,你可以在调试器内部添加断点)。 在 Xcode 的左侧面板,有一组按钮。...(lldb) br li No breakpoints currently set. 如果想在 Xcode 的UI上创建符号断点,你可以点击断点栏左侧的 + 按钮。...然后选择第三个选项: 这时会出现一个弹出框,你可以在里面添加例如 -[NSArray objectAtIndex:] 这样的符号断点。...你也可以添加多个行为,可以是调试器命令,shell 命令,也可以是更直接的打印: 可以看到它打印 i,然后大声念出那个句子,接着打印了自定义的表达式。

1.6K70

Xcode 调试技巧 --常用命令和断点

上面是动态修改变量的值, Xcode 还支持动态调用函数。...bt 命令是打印当前线程的堆栈信息 (lldb) bt * thread #1: tid = 0x27363, 0x000000010d204125 TestDemo`-[FifthViewController...断点 Xcode 中的断点也是很有学问的,有普通断点、条件断点、符号断点、异常断点等很多种。 1.普通断点 打一个普通断点,只需要找到对应的行,在代码左侧(行号上)点击一下即可。...添加条件 3.符号断点 符号断点就是 Symbolic Breakpoint,其实是针对某一个特定函数的断点,可以是一个 OC函数,也可以是 C++函数。 添加的地方如下: ? 符号断点 ?...Watch 断点 关于 Xcode 调试技巧中的 断点和命令就先这么多了,其他有用到的以后再补充。

3K40

iOS代码调试之LLDB命令

),具有REPL (Read-Eval-Print Loop,交互式解释器)、C++和Python插件,位于Xcode窗口底部控制台中,也可以在terminal中使用。...在LLDB模式下,根据需要输入相关的LLDB调试命令既可进行代码调试,下面小编将给大家介绍几款常用的LLDB命令。 1.打印 打印是代码调试中最常用的命令,相关的命令有:p和po。...在输出结果中有类似于$0,$1这样的符号,它是指向对象的一个引用,在控制面板中可以直接使用这个符号来操作对应的对象,它们存在于LLDB的全名空间中,目的是为了辅助调试。...expression命令是动态修改变量的值,Xcode还支持动态调用函数。在控制台执行call命令,可以在不修改代码,不重新编译的情况下,在断点调用某个方法,并输出此方法的返回值。...5.流程控制 使用xcode运行程序到达断点时会就会停止运行,调试条上会出现四个可以用来控制程序的执行流程的按钮,功能分别是 “继续”和“暂停”、“下一步”、“进入”、“跳出”。 ?

1.7K20

XCode调试器LLDB

与调试器共舞 - LLDB 的华尔兹 你是否曾经苦恼于理解你的代码,而去尝试打印一个变量的值?...LLDB LLDB 是一个有着 REPL 的特性和 C++ ,Python 插件的开源调试器。LLDB 绑定在 Xcode 内部,存在于主窗口底部的控制台中。...你以前有可能已经使用过调试器,即使只是在 Xcode 的界面上加一些断点。但是通过一些小的技巧,你就可以做一些非常酷的事情。GDB to LLDB 参考是一个非常好的调试器可用命令的总览。...你也可以安装 Chisel,它是一个开源的 LLDB 插件合辑,这会使调试变得更加有趣。 与此同时,让我们以在调试器中打印变量来开始我们的旅程吧 基础 这里有一个简单的小程序,它会打印一个字符串。...连字符号确实很让人困惑,你或许得不到自己想要的结果。 幸运的是,解决方案很简单。 -- 来表征标识的结束,以及输入的开始。

1.3K60

XCode调试器LLDB

与调试器共舞 - LLDB 的华尔兹 你是否曾经苦恼于理解你的代码,而去尝试打印一个变量的值?...LLDB LLDB 是一个有着 REPL 的特性和 C++ ,Python 插件的开源调试器。LLDB 绑定在 Xcode 内部,存在于主窗口底部的控制台中。...你以前有可能已经使用过调试器,即使只是在 Xcode 的界面上加一些断点。但是通过一些小的技巧,你就可以做一些非常酷的事情。GDB to LLDB 参考是一个非常好的调试器可用命令的总览。...你也可以安装 Chisel,它是一个开源的 LLDB 插件合辑,这会使调试变得更加有趣。 与此同时,让我们以在调试器中打印变量来开始我们的旅程吧 基础 这里有一个简单的小程序,它会打印一个字符串。...连字符号确实很让人困惑,你或许得不到自己想要的结果。 幸运的是,解决方案很简单。 -- 来表征标识的结束,以及输入的开始。

1.3K30

汇编和栈

在 StackWalkthrough 函数上创建一个符号断点。 构建并运行。Xcode 会在 StackWalkthrough 中中断。...在 LLDB 中,键入以下内容: (lldb) si 这个命令是单步调试的命令,它告诉 LLDB 执行下一条指令,然后暂停调试器。 现在,您进入 StackWalkthrough。...奇怪的格式是由于该命令在 gdb 中的常用,您看到此命令语法移植到 lldb 中,从而使从调试器的转换更加容易。...这意味着堆栈指针递减,并且 RSP 指向一个值,该值将指向 0x5 的值。 确认下: (lldb) p/x $rsp 这显示了指向 RSP 的当前值。 这意味着什么?...继续执行,以使 LLDB 停止在这一行汇编上。 打印一个输出 (lldb) po one 还是乱码。 mph 记住,RDI 将包含传递给函数的第一个参数。

3.3K20

扒虫篇-Debug几个实用的方法

---- 一.打印 相信在调试程序时,打印有时候一定是少不了的,当然你也可以LLDB命令完全代替,但是打印技巧依然是比较实用的一种调试技巧。...(4)符号断点Symbolic Breakpoint 符号断点能够为某一个方法或者 某一个类的某一个方法设置断点。实现的功能如下图: ? 某一个类的某一个方法设置断点 ?...三.LLDB命令 LLDBXcode默认的调试器, 我们通过执行LLDB命令使调试过程更加的灵活。并且可以通过指令立刻看到一些我们需要修改完代码再次运行才能看到的效果或者结果,超级实用。...Xcode内嵌LLDB调试窗口。在程序执行到断点后你可以输入LLDB命令操作调试过程。 ?...由Analyze发现的问题蓝色高亮显示。 ? Xcode分析 当你点击一个问题,Xcode的会指向问题代码块,这些正是你要的注意的地方。注意,Xcode仅仅是建议。

1.5K10

逆向开发从零到整(LLDB)

一、LLDB LLDB是个开源的内置于XCode的具有REPL(read-eval-print-loop)特征的Debugger,其可以安装C++或者Python插件。...Xcode已经为我们提供了可视化的工具,但是如果你习惯了命令行操作不希望双手离开键盘降低你的效率,了解一下也是很有帮助的。 ?...流程控制可视化界面 继续 下一步 进入 ,进入主要是进入函数中查看相关代码或者汇编代码 跳出 和进入相反 四、hook概念(stop-hook ) target stop-hook 我们知道,LLDB...所以一般打印指定变量,我更喜欢p或者po。...本公众号转载内容尽可能注明出处,如未能核实来源或转发内容图片有权利瑕疵,请及时联系本公众号进行修改或者删除[联系方式QQ: 374487334 邮箱:374487334@qq.com].文章内容为作者独立观点

99020

lldb 入坑指北(3) - 打印 c++ 实例的虚函数表

前言 打印 c++ 的虚函数表可以快速的帮助我们了解 c++ 父类与子类的 override 关系。 但是,lldb 目前却只支持常用的变量或者地址打印功能。...所以,我们通过自定义 vt 实现打印虚函数表的诉求。 准备工作 本文假设您已经对 lldb 相关的 API 有所了解,您可以阅读一下文章快速了解相关知识。...lldb 入坑指北(1)-给Xcode批量添加启用&禁用断点功能 lldb 入坑指北(2)- 15行代码搞定二进制与源码映射 虚函数表的原理 因为 C++ 标准并没有规定虚函数如何设计,所以,本文以 Itanium...PointerByteSize = 8 # 函数调用入口,假设我们在 Xcodelldb 中执行了 `vt yout` 命令 def pvtable(debugger, command, result...; return; # 将地址信息切割并取出最后一个地址,该地址即符号表的第一个函数位置 # first vtable objAddressStr = groupList.group

1.6K10

汇编寄存器的规则

这个常数之前的美元符号告诉你它是一个绝对值。现在不需要知道这段代码在做什么,因为您首先需要了解每个符号的含义。然后你会学到更多关于操作码的知识,并在以后的章节中编写你自己的程序。...尝试打印出 RSI 寄存器,不出意外的话应该是方法名。 在 LLDB 控制台中输入以下内容: (lldb) po $rsi 结果你会输出这个 140735181830794 为什么是这样?...通过在 LLDB 控制台中键入以下内容,打印出 NSResponder 的引用: (lldb) po $rdi 会出现如下的输出 但是,该方法是带参数的...# 改变寄存器值 为了巩固您对寄存器的理解,您将在一个编译的应用程序中修改寄存器。 关闭 Xcode 和 Registers 项目。 打开终端窗口,然后启动 iPhone X Simulator。...寄存器知识和轻按 UIButton 查找代码,这有多酷?

2.4K50

Swift进阶-LLDB调试

程序猿最好的利器就是开发工具,iOS开发者最基本,最关键的一点就是熟练使用Xcode,而LLDB则是Xcode中至关重要的一环。....当前命令缩写(类型“帮助命令别名”以获取更多信息) add-dsym 将调试符号文件添加到目标当前模块中的一个通过指定调试符号文件的路径,或使用选项来指定下载符号的模块 attach 通过ID或名称附加到进程...p指令: 可打印其对象类型、内存地址以及该对象的值等具体信息,print的简写 po指令: 是打印其调用description方法得到的值。...: D ( --depth ) - 设置打印聚合类型的递归深度(默认无限递归)。...file> frame language 单步调试 单步调试,修改指针变量的值,观测程序不同变化 Xcode调试面板上实际已经有了按钮去实现,再这里简单介绍下: n 命令,代表 Step Over

80730

iOS各种调试技巧豪华套餐

使用objc语言(强类型)并且NSLog打印的时候,常常搞不清楚NSLog(@“%?”,xxx) xxx这种类型该是什么什么类型输出,应该是%d呢还是%@亦或是%f???...千万别客气哟,随便,就像自己家一样啊,啊 哈哈 吃吃吃 别只顾着吃饭,多夹菜……哎~博主好客的职业病又犯了~,什么?你不知道在哪里lldb? 首先!你得先crash或者把程序断下来!...直到你看到图16的(lldb)字样出现,你就可以敲命令了~~ 每次你想查看变量,常量,你要重新写NSLog去打印,然后重新编译,去执行,重头开始?太累了,有了lldb你只要这样 图18 ?...lldb真的很强大,博主没有骗你,这篇博文到此的所有调试技巧lldb都可以实现,各种断点,各种打印,调用python插件,运行中断,操作硬件底层,控制程序运行线程……lldb都可以做到!...可以让你好好的回味,呵呵 《The LLDB Debugger》 《About LLDB and Xcode》 《LLDB调试命令初探》 《与调试器共舞 - LLDB 的华尔兹》 Profile(instruments

1.4K20

iOS各种调试技巧豪华套餐

使用objc语言(强类型)并且NSLog打印的时候,常常搞不清楚NSLog(@“%?”,xxx) xxx这种类型该是什么什么类型输出,应该是%d呢还是%@亦或是%f???...千万别客气哟,随便,就像自己家一样啊,啊 哈哈 吃吃吃 别只顾着吃饭,多夹菜……哎~博主好客的职业病又犯了~,什么?你不知道在哪里lldb? 首先!你得先crash或者把程序断下来!...直到你看到图16的(lldb)字样出现,你就可以敲命令了~~ 每次你想查看变量,常量,你要重新写NSLog去打印,然后重新编译,去执行,重头开始?太累了,有了lldb你只要这样 图18 ?...lldb真的很强大,博主没有骗你,这篇博文到此的所有调试技巧lldb都可以实现,各种断点,各种打印,调用python插件,运行中断,操作硬件底层,控制程序运行线程……lldb都可以做到!...可以让你好好的回味,呵呵 《The LLDB Debugger》 《About LLDB and Xcode》 《LLDB调试命令初探》 《与调试器共舞 - LLDB 的华尔兹》 Profile(instruments

1.9K90

深入理解iOS Crash Log

如果你在上传到App Store的时候,选择了上传dsym文件,那么从XCode中看到的崩溃日志是自动符号化的。...XCode XCode会自动尝试符号化Crash Log(需要文件以.crash结尾) USB连接设备 打开XCode,菜单栏点Device -> Window 选择一个设备 点View Device...Logs 然后把你的crash log,拖动到左侧部分 XCode会自动符号XCode能自动符号化需要能够找到如下文件: 崩溃的可执行文件和dsym文件 所有用到的framework的dsym文件...OS版本相关的符号(这个在USB连接的时候,XCode会自动把这些符号拷贝到设备中) atos atos是一个命令行工具,可以用来符号化单个地址,命令格式如下: atos -arch <Binary Architecture...我们可以通过lldb,查看汇编代码来寻找一些蛛丝马迹: 首先,打开终端,导入crashlog工具 LeodeMacbook:Desktop Leo$ lldb (lldb) command script

4.2K52

汇编和内存

您会注意到输出 LLDB 的地址与 Xcode 中绿线突出显示的地址是一样的: (unsigned long) $1 = 0x0000000100008910 当然了每个人的电脑上显示的地址是不同的,而且每次执行时候的地址都可能不一样...请一定 Xcode 的按钮来继续,不要是 continue 命令,因为在修改 RIP 寄存器并在控制台中继续操作时就会崩溃。...在 LLDB 控制台中,键入以下内容: cpx $rip 到现在为止,这将打印出指令指针寄存器的内容。如预期的那样,您将获得 aBadMethod 起始地址。...在 LLDB 中键入以下内容,再次 aBadMethod 函数地址替换地址: memory read -fi -c10 0x1000017c0 你讲获得以下输出: -> 0x100008910: 55...第一条指令的长度为 1 个字节, 0x55 表示。 以下指令的长度为三个字节。 确保您仍在 Objective-C 上下文中,并尝试打印出负责此指令的操作码。

1.2K20
领券