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

如何在Xcode 9中不剥离调试符号

在Xcode 9中,可以通过以下步骤来实现不剥离调试符号:

  1. 打开Xcode项目,并选择要进行设置的目标。
  2. 在项目导航器中,选择项目名称,然后选择目标。
  3. 在目标设置中,选择“Build Settings”选项卡。
  4. 在搜索栏中输入“strip”,找到“Strip Debug Symbols During Copy”设置。
  5. 将该设置的值更改为“No”。
  6. 重新编译和构建项目。

这样设置后,Xcode将不会在构建过程中剥离调试符号,从而保留了调试信息。这对于调试和分析应用程序的崩溃或性能问题非常有用。

注意:在发布应用程序时,建议将该设置恢复为默认值(即“Yes”),以减小应用程序的大小并提高性能。

腾讯云相关产品和产品介绍链接地址:

  • 腾讯云开发者工具套件(https://cloud.tencent.com/product/devtools)
  • 腾讯云移动应用开发(https://cloud.tencent.com/product/mobileapp)
  • 腾讯云云服务器(https://cloud.tencent.com/product/cvm)
  • 腾讯云云原生应用引擎(https://cloud.tencent.com/product/tcaplusdb)
  • 腾讯云数据库(https://cloud.tencent.com/product/cdb)
  • 腾讯云人工智能(https://cloud.tencent.com/product/ai)
  • 腾讯云物联网(https://cloud.tencent.com/product/iotexplorer)
  • 腾讯云存储(https://cloud.tencent.com/product/cos)
  • 腾讯云区块链(https://cloud.tencent.com/product/baas)
  • 腾讯云游戏多媒体引擎(https://cloud.tencent.com/product/gme)
  • 腾讯云视频处理(https://cloud.tencent.com/product/vod)
  • 腾讯云音视频通信(https://cloud.tencent.com/product/trtc)
  • 腾讯云元宇宙(https://cloud.tencent.com/product/tencent-metaverse)
页面内容是否对你有帮助?
有帮助
没帮助

相关·内容

XCode日常使用备忘录

尽管其易用性广受诟病,但由于苹果app开发的封闭性,众多开发者也有苦不能言。...保存Release版的dSYM文件对于程序崩溃时的调试可以说极为重要。调试符号文件在调试中的作用其实非常简单,就是把那些16进制值转换为我们源代码中对应的符号变量。...这样能够帮助开发者快速定位到程序崩溃的地方,极大的提高调试效率。 ?       那么怎么利用调试符号文件来调试程序崩溃呢?...调试时使用windbg,需要设置好调试符号文件和源代码文件(如果有)路径: ? ?...事实上,DWARF with dSYM选项允许你对你进行单步调试而不管可执行程序是否被剥离调试信息(stripped)。这是可能的,这是因为gdb将会在你的程序的目录下查找.dSYM文件。

1.8K90
  • XCode基本使用及调试技巧

    由于Xcode的基本使用比较简单,所以本文着重介绍一些Xcode调试技巧。...设置符号断点可以输入类名+函数名,也可输入函数名,Xcode会自动匹配在不同类中同名的方法进行断点。 ? 一旦onOK方法被调用就会命中断点。...在Xcode的watch窗口-> 右键需要watch的变量 -> watch “XXX” ? 例子中,当m_nsContent变量发声变化时调试器会自动断下来,同时输出变化信息。 ?...1、 call命令 除了动态修改变量的值,Xcode还支持动态调用函数,可以在增加代码,不重新编译的情况下动态调用一个方法。 ? 动态的将m_text从父view中移除。...可以参考《如何在LLDB下排查message sent to deallocated instance问题》 本来有意写一篇专注调试的文章,但是这一系列文章都出自名家之手,拜读之后受益匪浅,特意推荐给读者

    6.3K71

    iOS符号化浅析

    Debug环境下使用DWARF方式,方便我们进行调试,那对于Release环境我们使用第二种方式,选择第二种方式便可以将符号表从二进制文件中进行剥离,改为使用 dSYM 文件进行存储。...; mac 下的 atos 工具:单行堆栈符号化; linux 下的 atos 的替代品: atosl[10]、llvm-atosl[11] 通过 dSYM 文件提取地址和符号的对应关系,进行符号还原...获取系统符号文件的几个方法 从真机上获取 当你用 Xcode 第一次连接某台设备进行真机调试时,会看到 Xcode 显示 Processing symbol files,这时候就是在拷贝真机上的符号文件到...从已解密的固件中提取符号文件 已经有很多同学给出了方式,参考资料中聊聊从iOS固件提取系统库符号,不再赘述。给出过程中需要用到的地址。...已经收集好的开源项目,iOS-System-Symbols[14]...

    1.8K41

    Xcode编译疾如风-3.浅谈 dwarf 和 dSYM

    Xcode编译疾如风-3.浅谈 dwarf 和 dSYM ?..., gdb、llvm 调试或者在 Xcode 进行断点调试。...也就是调试符号,我们常常称为符号表文件。 符号对应着类、函数、变量等,这个符号表文件是内存与符号函数名,文件名,行号等的映射,在崩溃日志分析方面起到了举足轻重的作用。...为DWARF with dSYM File ,那么则会通过 dsymutil 根据 mach-o 文件中的 dwarf 信息生成 dSYM 文件,然后通过 strip 命令去除掉 mach-o 中的调试符号化信息...这个项默认是开启的,如果设置为NO,那么调试符号根本不会产生,也就没有 dwarf 和 dSYM 什么事了,就连我们在 Xcode 打断点调试时,断点都不会中断。这点需要注意下。

    4.2K20

    Xcode 单步调试 WebRTC

    生成的静态库没有符号表 如何判断是否是由于没有符号表导致无法单步调试的呢?我们在 Linux 下经常用下面这个命令: nm : 显示二进制目标文件的符号表。...大部分人只听过符号表,从来没有听过符号表与源代码关联这类说法。 没错,调试器就是使用符号表与源代码关联文件来达到调试效果的。...我举个简单的例子大家就清楚了,无论你在什么平台上使用什么语言, OC, linux下的 c/c++, java等,你一定用过单步调式或断点调试。...无法对项目进行单步调试,严重的影响到了我们解决问题的进度。为了解决该问题,我几乎将 Xcode 的编译与调试机制翻了个遍。...至此,我已经将 Xcode 单步调试机制讲清楚了,希望本文能对你所有帮助,谢谢!

    2.8K60

    ios逆向笔记

    应用逆向工程的作用 1.2.1安全相关的ios逆向工程 1.评定安全等级 2.逆向恶意软件 3.检查软件后门 4.去除软件使用限制 1.2.2开发相关的ios逆向工程 1.逆向系统API 对于上架的...ui层面切入代码层面 1.4.2 反汇编工具 二进制文件作为输入,经过处理后输出这个文件的汇编代码 IDA和Hopper 1.4.3 调试工具 LLDB 1.4.4 开发工具 Xcode 最常用的开发工具.../etc:“Et Cetera”的简写存放系统脚本及配置文件,passwd、hosts等。在ios中,/etc是一个符号链接,实际指向/private/etc. ....在ios中,/tmp是一个符号链接,实际指向/private/var/tmp. ./usr:包含了大多数用户工具和程序。.../Developer:如果一台设备连接Xcode后被指定为调试用机Xcode就会在ios中生成这个目录,其中会含有一些调试需要的工具和数据 .

    80620

    react native 入门实战(一)

    作者:朱灵子 本文举一个简单的例子介绍如何进行react native实战开发,主要从以下几个方面来进行介绍: 如何在mac IOS下进行react native环境配置 写一个简单的例子,分析react...native布局与web布局的不同点 如何在Xcode上进行编译以及在IOS真机上运行 首屏加载一些简单的优化方法 react native入门实战初体验,希望能给大家一些小帮助哦!...+R就可以刷新APP,看到最新内容 在iOS Emulator中按下command+D就可以弹出以下窗口,在浏览器窗口上打开链接localhost:8081/debugger-ui就可以进行debug调试...alignItems,垂直居中用justifyContent; React-Native通过Image.resizeMode来适配图片布局,它包括contain,cover和stretch三种模式 如果我们默认设置模式那么图片布局就是使用的...椎间盘美好General模块下的identity模块中的Bundle identifier设置为com.tencent.a(a可以换成其他字符串哈),并且进行如下所示配置; 在XCode中选中自己的IOS

    8.1K00

    iOS崩溃堆栈符号化,定位问题分分钟搞定!

    符号表就是指在Xcode项目编译后,在编译生成的二进制文件.app的同级目录下生成的同名的.dSYM文件。....dSYM文件其实是一个目录,在子目录中包含了一个16进制的保存函数地址映射信息的中转文件,所有Debug的symbols都在这个文件中(包括文件名、函数名、行号等),所以也称之为调试符号信息文件。...一般地,Xcode项目每次编译后,都会生成一个新的.dSYM文件。因此,App的每一个发布版本,都需要备份一个对应的.dSYM文件,以便后续调试定位问题。...符号表有什么用? 在Xcode开发调试App时,一旦遇到崩溃问题,开发者可以直接使用Xcode调试器定位分析。...一般地,开发者都是接入第三方的崩溃监控服务(:腾讯Bugly),实现线上版本崩溃问题的记录和跟踪。 目前,国内外提供崩溃监控服务的产品有好多个,在崩溃问题的统计上可能不分伯仲。

    4.7K51

    react native入门实战(一)

    朱灵子 原文出处:IMWeb社区 未经同意,禁止转载 react native入门实战(一) 本文举一个简单的例子介绍如何进行react native实战开发,主要从以下几个方面来进行介绍: 如何在...mac IOS下进行react native环境配置 写一个简单的例子,分析react native布局与web布局的不同点 如何在Xcode上进行编译以及在IOS真机上运行 首屏加载一些简单的优化方法...R就可以刷新APP,看到最新内容 在iOS Emulator中按下command+D就可以弹出以下窗口,在浏览器窗口上打开链接localhost:8081/debugger-ui就可以进行debug调试...alignItems,垂直居中用justifyContent; React-Native通过Image.resizeMode来适配图片布局,它包括contain,cover和stretch三种模式 如果我们默认设置模式那么图片布局就是使用的...椎间盘美好General模块下的identity模块中的Bundle identifier设置为com.tencent.a(a可以换成其他字符串哈),并且进行如下所示配置 在XCode中选中自己的IOS

    6.5K20

    react native入门实战(一)

    朱灵子 原文出处:IMWeb社区 未经同意,禁止转载 react native入门实战(一) 本文举一个简单的例子介绍如何进行react native实战开发,主要从以下几个方面来进行介绍: 如何在...mac IOS下进行react native环境配置 写一个简单的例子,分析react native布局与web布局的不同点 如何在Xcode上进行编译以及在IOS真机上运行 首屏加载一些简单的优化方法...R就可以刷新APP,看到最新内容 在iOS Emulator中按下command+D就可以弹出以下窗口,在浏览器窗口上打开链接localhost:8081/debugger-ui就可以进行debug调试...alignItems,垂直居中用justifyContent; React-Native通过Image.resizeMode来适配图片布局,它包括contain,cover和stretch三种模式 如果我们默认设置模式那么图片布局就是使用的...椎间盘美好General模块下的identity模块中的Bundle identifier设置为com.tencent.a(a可以换成其他字符串哈),并且进行如下所示配置 在XCode中选中自己的IOS

    6.9K70

    UE4 开发之配置 Xcode 调试环境

    前言 在上篇文章中,我与大家分享了如何在 UE4 里实现按钮事件响应的过程,应该来说如果跟着我的步骤操作下来,实现按钮事件响应还是很简单的,但是 UE4 开发对于新手来说还是有很多不友好的地方,基本上就是一个不断填坑的过程...由于 UE4 是跨平台的游戏引擎,所以我们也需要在 Xcode 上对游戏进行调试,查看日志等操作;相信很多刚接触 UE4 的 iOS 开发者都会遇到编译的时候调试签名证书报错的情况,但是切换成 Xcode...自身创建的工程发现签名证书又是匹配的,往往就在这签名证书的问题上耽误了大量的宝贵时间,所以今天我就来与大家分享一下如何配置 UE4 的 Xcode 调试环境。...识别到你的设备后,选择该设备, 按下 cmd+R 即可调试 3....导入签名证书, 显示 Valid 即可用 4.插上设备,进行调试 结尾 本篇文章到这里就结束了,因为这篇是指导性的文章,所以也涉及到复杂的知识点,如果大家在设置调试环境的过程中遇到了问题,可通过留言的方式与我交流

    1.7K20

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

    (4)符号断点Symbolic Breakpoint 符号断点能够为某一个方法或者 某一个类的某一个方法设置断点。实现的功能如下图: ? 某一个类的某一个方法设置断点 ?...Xcode内嵌LLDB调试窗口。在程序执行到断点后你可以输入LLDB命令操作调试过程。 ?...2, po (print object)输出对象, po [self view]; (相当于普通的NSLog) 3, expr (expression) 可以在调试时动态执行指定表达式,并将结果打印出来...控制台左侧的调试区: 在左侧调试区  右键 选择“Add Expression” 输入你想要显示的变量名称,即可立即显示(注意这个变量不可以是直观的)。...Xcode分析 当你点击一个问题,Xcode的会指向问题代码块,这些正是你要的注意的地方。注意,Xcode仅仅是建议。在某些情况下,这是可能的,问题是不相关的,固定。

    1.5K10

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

    Xcode 中的调试技巧与我们的日常开发息息相关,而这些调试技巧在我们解决Bug时,常常有事半功倍的作用,经常会用到的有各种断点 和 命令。...我们可以在调试时,动态的修改变量的值,这在调试想要让应用执行异常路径(执行某个else 情况)很有用。...断点 Xcode 中的断点也是很有学问的,有普通断点、条件断点、符号断点、异常断点等很多种。 1.普通断点 打一个普通断点,只需要找到对应的行,在代码左侧(行号上)点击一下即可。...符号断点在调试一些没有源码的模块时比较有用,比如调试一个第三方提供的Lib库,或者系统的模块,可以在相应函数处下断点,可以大概调试清楚程序的运行流程,也可以在断点的时候查看到参数信息。...Watch 断点 关于 Xcode 调试技巧中的 断点和命令就先这么多了,其他有用到的以后再补充。

    3.1K40

    APP生成与运行(一)

    我们将一组二进制代码合并成一个指令或符号,创造了汇编语言,汇编语言以一种相对好理解的方式来编写,然后通过汇编过程生成 CPU 可以运行的二进制代码并运行在 CPU 上。...源代码一般为高阶语言 (High-level language), C、C++、C# 、Objective-C、Swift、Java 等,而目标语言则是汇编语言或目标机器的目标代码(Object code...系,java 解释型语言:html、javascript 二、LLVM、Clang LLVM LLVM本身并不是编译器,只是一套用于开发编译器、解释器等程序语言相关工具的库,主要聚焦于编译器后端功能,代码生成...对于XCode 8,关闭XCode,终端输入以下指令 $ defaults write com.apple.dt.Xcode ShowBuildOperationDuration YES 代码优化-forward...编译器选项优化 Debug模式下,生成dsym文件 上文提到了,dysm文件里存储了调试信息,在Debug模式下,我们可以借助XCode和LLDB进行调试

    1.1K10

    窥探Swift编程之别样的HelloWorld

    有些事儿需要天赋,但有些事儿还是需要努力的,谁生下来就是技术大牛呢~大牛大部分都是从吃白菜长大的么?好了扯淡了,“少壮不努力,长大学编程”,切入今天的正题,来窥探一下Swift语言。   ...先说明一下编译环境:Xcode6.3,当然Xcode6.0以后的版本都支持Swift语言,然后我们就可以在苹果专门为Swift设计的Playground上来为所欲为的搞搞Swift语言了。...3.键入ProductName :SwiftDemo,Organiztion Name, Organization identifier一般为你所在公司域名倒序com.cnblogs.lizelu,...二.如何在上面的创建的工程上实现HelloWorld。   ...4.接下来激动人心的时刻到了,我们来运行一下我们的SwiftDemo工程(你可以真机调试,也可以使用模拟器调试),下面是运行出来的效果,点击Hello World!会弹出我们定义好的提示框啦。

    1.8K80

    iOS_crash文件的获取及符号化(解析)

    Address2 Address3 操作: atos -arch arm64 -o 《拖入xxx.app.dSYM里的xxx文件》 -l 《基地址》《偏移后的地址》 Tips: xxx 为项目名 1...Connect 获取到崩溃日志 iTunes Connect -> Manage Your Applications -> 对应app -> View Detail -> Crash Reports (已符号化...(对应app名+时间点) -> 右键 Export Log 4.3 获取 .dSYM 和 .app 文件 .dSYM是十六进制函数地址映射信息的中转文件,调试的symbols会包含在这个文件中,symbols...dSYM文件都拷贝到待解析文件同一文件夹下 Tips3: simulator不会生成crash文件 Tips4: XCode设置生成dSYM文件,并跑到真机上,此时app产生的.ips文件会自动符号化...Logs Analyzing a crash report iOS Debugging Magic iOS Crash 分析攻略 Debug Information Format 本文的描述很难掺杂作者的主观意见

    1.8K10

    iOS开发入门笔记

    IDE、模拟器 能修改、调试已有iOS App 能在已有应用内创建新模块 能创建新应用 能发布应用到App Store 本文包含任何高级的iOS开发知识,已学会iOS开发的同学不要看,看完这篇文章学会了的同学也不用再看了...在模拟器上操作时,如果执行过程中遇到了你在Xcode里设置的断点,模拟器会暂停运行,并将当前活动窗口切换回Xcode,供你调试。 在Xcode里增加或者取消了断点,不需要重新编译和安装应用即可生效。...” (即 你的应用英文名 > 当前选中的调试 ),点击这个下拉菜单,选中你的真机设备名,再按“Run”按钮,Xcode就会自动把当前正在编辑开发的应用编译并安装到真机上测试啦!...@符号,: svn del icon@2x.png@ svn info Default@2x.png@ 如果一次移动了几十个png文件再svn commit的,可以用shell批处理: svn status...{print $2}' | grep -v @ | xargs svn del 上面这个命令是将文件名包含@符号的,且已经不在硬盘上的文件从svn version controll中删掉 for file

    3.9K60

    iOS代码调试之LLDB命令

    ),具有REPL (Read-Eval-Print Loop,交互式解释器)、C++和Python插件,位于Xcode窗口底部控制台中,也可以在terminal中使用。...对于测试同学来说,学习iOS代码调试LLDB命令,能更好地辅助我们通过各种手段修改变量返回值创造实际难以模拟的环境进行测试,甚至能协助开发同学定位bug。...在输出结果中有类似于$0,$1这样的符号,它是指向对象的一个引用,在控制面板中可以直接使用这个符号来操作对应的对象,它们存在于LLDB的全名空间中,目的是为了辅助调试。...它能够在调试时,动态的修改变量的值,同时打印出结果,在调试想要让应用执行异常路径(执行某else情况)或者修改某些中间变量值修改返回状态码以查看客户端相关响应等)非常有用,可以创造各种实际中难以遇到的测试环境辅助测试...5.流程控制 使用xcode运行程序到达断点时会就会停止运行,调试条上会出现四个可以用来控制程序的执行流程的按钮,功能分别是 “继续”和“暂停”、“下一步”、“进入”、“跳出”。 ?

    1.7K20
    领券