草庐IT

DEBUGGING

全部标签

ios - LLDB 手册/文档

我想更好地了解如何使用LLDB调试我的iOS代码。我经常看到我的同事使用提示进行调试,例如查看变量的值等等。我在哪里可以找到一些关于如何在命令行上使用LLDB调试器的文档?提前致谢。 最佳答案 如果您有权访问这些视频,您可能想从6月开始在lldb上观看AppleWWDCsession视频。https://developer.apple.com/videos/wwdc/2012/session标题是“DebuggingwithLLDB”,session的描述是LLDBisthenext-generationdebuggerforOSX

xcode - 应用程序在没有有用的控制台信息的情况下在 iPad 模拟器中崩溃

请原谅这里的新手-我在模拟器中运行一个应用程序,有时当它崩溃时它会在控制台中发布有用的信息,其他时候则完全没有。当它什么都不发布时,开始追踪崩溃原因的好步骤是什么? 最佳答案 首先在崩溃后打开调试器并查看堆栈跟踪。除此之外,您还可以启用NSZombieEnabled当那些模糊的错误访问错误出现时,用于可执行文件。带堆栈跟踪的调试器(左上窗口),XCode3Xcode4堆栈跟踪 关于xcode-应用程序在没有有用的控制台信息的情况下在iPad模拟器中崩溃,我们在StackOverflow上

ios - 使用不同的构建配置时,Xcode 调试器值为 nil

我决定使用连接到不同构建配置的不同方案来管理同一应用程序目标的不同预处理器定义。这意味着我已经复制了调试构建配置并给它一个新名称(例如Staging)。后记定义了为每个新构建配置定义的预处理器宏。设置一个新的共享方案,“运行”步骤使用我刚刚创建的新“暂存”(调试副本)构建配置。该应用程序运行正常,但我注意到调试器值全部为零。将方案设置为从“调试”构建配置运行时,一切都很好。新的构建配置是调试配置的完整副本,并定义了附加的预处理器宏。将调试构建配置重命名为其他任何名称时也会发生这种情况。有没有办法让调试器使用不同的(启用调试)构建配置? 最佳答案

ios - XcodeColors 在 XCode 5 中不起作用

我尝试在XCode5中安装XcodeColors。但不幸的是,它无法与我从XCode4.6获得的旧插件一起使用。作为下一步,我查看了github网站,在那里我看到了以下拉取请求,它为XCode5提供了一个工作版本:https://github.com/mralexgray/XcodeColors我已经下载了项目并以Release模式运行它。但是在插件目录中没有创建任何XcodeColors。有人在XCode5中有可用的XcodeColors插件吗? 最佳答案 问题已经解决:你会发现here为Xcode5安装XcodeColors的所

ios - 我如何解决较早启动但现在为 "Terminated due to Memory Pressure"的应用程序?

我正在使用Xcode开发iOS应用程序。早些时候我让它启动并运行,直到达到有限的功能水平。然后出现编译失败,声称未修改的样板生成的代码有语法错误。将源代码复制到新项目中会遇到不同的问题。现在,我可以编译并开始运行,但它甚至在启动图像显示之前就指出应用程序因内存压力而关闭。总视觉Assets约为272M,可以在不损害图形丰富性的情况下对其进行一些优化,并且是迄今为止该程序唯一预计较大的区域。(Assets可能保存在内存中,也可能不保存在内存中;例如,每个当前加载图像都已填充,而我的代码从不以编程方式访问任何加载图像。)它在加载图像本身加载之前崩溃。我该如何解决这个内存问题?我也许可以精简

ios - 如何让 NSAssert 记录 Xcode4 中的描述?

Xcode4会在NSAssert失败时告诉我,但不再记录断言描述和回溯。我看到这个问题:HowtomakeXcode4stopatNSAssertfailure?这很有帮助,但我宁愿记录断言并继续。我怎样才能使NSAssert以这种方式运行?谢谢! 最佳答案 您链接到的问题可以帮助您解决大部分问题。将断点操作添加到您为断言设置的断点。从断点导航器中选择断点,单击鼠标右键,然后选择“编辑断点”。选择编辑断点将打开一个弹出式编辑器。在弹出式编辑器中,您应该会看到带有文本单击以添加操作的操作行。单击该文本以打开菜单。从“操作”菜单中选择“

ios - 如何在 Xcode 堆栈跟踪中查找 NSInternalInconsistencyException 的来源

我正在使用Objective-C开发一个iPhone应用程序(使用Xcode6.1.1和Parse),我刚得到这个神秘的NSInternalInconsistencyException:捕获到“NSInternalInconsistencyException”,原因是“试图用指向新的、未保存的对象的指针来保存对象。”:所以我对StackOverflow社区的问题是:某人如何阅读此堆栈跟踪以追查问题的实际根源?我在此堆栈跟踪中的任何地方都看不到任何可识别的文件名、方法调用或行号。或者,如果这不是简单地读取堆栈跟踪的问题,而是涉及其他技术,那么开发人员应该采取什么适当的下一步来追踪此类错误

c++ - iOS 上的可恢复断言/断点,例如带有 MS 编译器的 __debugbreak()

我正在尝试实现自定义Assets宏(类似于assert.h的内容),但我希望能够在获取并断言后继续执行。例如,一个这样的ASSERT实现可以是:#defineASSERT(expr)((void)((!!(expr))||(__debugbreak(),0)))__debugbreak是微软编译器中的一个内置函数,用于插入软件断点,相当于x86中的_asmint3。对于iOS,有不同的方法来实现__debugbreak:__asm__("int$3");用于x86。__asm__("bkpt#0");用于常规ARM。__asm__("brk#0");forarm64__builtin_

ios - 调试时在 Xcode 中查看对象/属性状态

所以我是Xcode的新手,正在处理一个iOS项目,我在最基本的调试方面遇到了很多麻烦。具体来说,我需要能够在逐步执行代码时查看对象的状态(这并不疯狂,是吗?),但我终究无法弄清楚如何在Xcode中执行此操作。每当我尝试时,似乎我得到的最远的是一个无法扩展以显示其目标内容的内存地址。我也想不出任何方法来手动取消引用调试控制台中的指针以查看该对象的状态。在这里,我试图查看store.storeHours数组的内容,但没有任何运气。事实上,左边的View告诉我数组中有0个对象,当我尝试展开它时不会显示任何内容,但是当我postore.storeHours时,控制台显示7个对象,尽管无用地描绘

ios - 如何在 Xcode 控制台中漂亮地打印 NSError 对象?

我在Xcode控制台中打印了一个NSError对象(通过NSLog(@"%@",error);),对于某种错误,这是我得到的:Domain=NSCocoaErrorDomainCode=133020"Theoperationcouldn’tbecompleted.(Cocoaerror133020.)"UserInfo=0xe939170{conflictList=("NSMergeConflict(0xe93cad0)forNSManagedObject(0x5dba970)withobjectID'0x5dc26f0'witholdVersion=2andnewVersion=3a