Tag: debugging

如何在Xcode 7中find未使用的代码?

我已经看到了这个问题 ,但答案在Xcode 7中似乎不是有效的。至less我找不到它。 任何人都可以告诉我在哪里可以告诉编译器通知我关于未使用的函数/参数/值?

如何使用xcode 6.2在越狱设备中debuggingiOS应用程序

我是iOS和Swift新手。 我想在没有开发人员帐户的情况下在真实设备而不是模拟器中debugging我的应用,例如使用Android Studio进行Android应用debugging。 我有一个越狱的iOS设备,我正在使用xcode 6.2 无论如何,我想要一个步骤来debugging我的应用程序,并看到设备日志时,任何参数或variables正在改变。 经过search的时候,我想直接问: 我该怎么做… 有人帮我,请… 提前感谢您的回答。

使用Xcode查找错误 – 尝试插入nil值

我在我的应用程序中得到一个随机错误,这导致它崩溃。 我面对的问题是XCode不会告诉我崩溃发生在哪里只有下面的信息。 有人可以告诉我如何find我可以在代码中find问题的地方吗? 它必须崩溃在应用程序崩溃的同时,它总是显示下面。 *终止应用程序由于未捕获的exception“NSInvalidArgumentException”,原因:' – [__ NSCFDictionary setObject:forKey:]:尝试插入nil值(键:0)'*第一个抛出调用堆栈:( 0x381e48bf 0x37d301e5 0x381e47b9 0x381e47db 0x381516bb 0x9237b 0x91121 0x8f0c5 0x8abc1 0x37b9d 0x8b68f 0x3550850f 0x381b0577 0x3813c0cf 0x3547c3fb 0x3547dc2b 0x8d005 0x3814322b 0x34495 0x32e31 0x3372d 0x30a59 0x3813e435 0x7b1df 0x7b88d 0x79e25 0x31ca650f 0x31ca5f01 0x31c8c4ed 0x31c8bd2d 0x37f12df3 0x381b8553 0x381b84f5 0x381b7343 0x3813a4dd 0x3813a3a5 0x37f11fcd 0x31cba743 0x89e8b 0x24a4)终止叫做抛出exception(LLDB)

valgrind和iOS SDK 4.2?

在使用valgrind运行iOS 4.2应用程序时遇到问题。 我从Macports安装valgrind 3.6.0-SVN。 XCode 3.2.5。 当我修改我的主要()运行valgrind我得到以下输出: 检测到尝试在系统库中调用不存在于iPhone上的符号: 打开$ UNIX2003,调用函数_vgrZU_libSystemZdZaZddylib_arc4random在image vgpreload_core-x86-darwin.so中。 如果遇到在gdb中运行模拟器二进制文件的问题,请确保先“closures”开始。 == == 99640 == 99640 ==进程以信号6(SIGABRT)的默认行为终止 == 99640 == 0x8B5DEF6:__kill(在/usr/lib/libSystem.B.dylib中) == 99640 == 0x8BF062C:raise(在/usr/lib/libSystem.B.dylib中) == 99640 == 0x8C066E3:abort(在/usr/lib/libSystem.B.dylib中) == 99640 == by 0x33F2547:__springboard_unimplemented(in /Developer/Platforms/iPhoneSimulator.platform/Developer/SDKs/iPhoneSimulator4.2.sdk/usr/lib/libSystem.dylib) == 99640 == by 0x33FC208:open $ UNIX2003(in /Developer/Platforms/iPhoneSimulator.platform/Developer/SDKs/iPhoneSimulator4.2.sdk/usr/lib/libSystem.dylib) == 99640 == by 0x1AAD6F3:arc4random(vg_preloaded.c:163) == 99640 == by 0x8AFFB7E:create_scalable_zone(in /usr/lib/libSystem.B.dylib) […]

cocoa伐木工人:如何显示文件和行号?

我正在努力为cocoa伐木工人find一个方法来显示我的文件和行号。 看完文档和一些Googlesearch后,我发现没有简单的方法来做到这一点。 有没有办法做到这一点,而不添加自定义格式化?

如何使用lldb在iOS模拟器中调用类方法?

我正在尝试debugging一个iOS应用程序,并且在模拟器中遇到了lldb问题。 调用类方法似乎不起作用。 实例方法工作正常。 (lldb) po Category <no result> (lldb) po [Category class] error: Couldn't prepare the expression for execution in the target (lldb) po self (TagsTableViewController *) $5 = 0x085585a0 <TagsTableViewController: 0x85585a0> 我已经尝试了4.3和5.1模拟器,但都显示相同的问题。 在设备上进行debugging时,一切正常。

在哪里可以获得其他iOS版本的iOS系统符号

请注意:我正在寻求一个可以下载符号的地方,或者得出一个确定的答案,即苹果禁止这样的网站。 这个“重复”的问题与我在问题中提到的问题类似:唯一的build议答案是访问物理设备或find另一个开发人员。 我已经使用了crashdump,但是只有我的应用程序代码中的行符号化了; 系统代码没有。 它看起来像这样: Thread 0 Crashed: 0 libobjc.A.dylib 0x39c195d0 0x39c16000 + 13776 1 QuartzCore 0x33aefcad 0x33ade000 + 72877 2 QuartzCore 0x33af3105 0x33ade000 + 86277 <snip> 13 UIKit 0x33d862b9 0x33d2f000 + 357049 14 MyApp 0x0005ef87 main (main.m:14) … Thread 7: 0 libsystem_kernel.dylib 0x3a101e30 0x3a101000 + 3632 1 CoreFoundation 0x31ef82bb 0x31e61000 + 619195 2 CoreFoundation […]

如何从obj-c / ios的堆栈跟踪中获取源代码行

我使用NSSetUncaughtExceptionHandler将堆栈跟踪信息打印到iPhone中的本地文件中,该文件将在下次启动时发送到我们的服务器。 然后我可以检查exception数据并修复这个错误。 在一些崩溃中,我有模块名称和抛出exception的函数,这些很容易。 但主要是我有这样的事情: "4 libc++abi.dylib 0x35bba3c5 _ZL19safe_handler_callerPFvvE + 76", "5 libc++abi.dylib 0x35bba451 _ZdlPv + 0", "6 libc++abi.dylib 0x35bbb825 __cxa_current_exception_type + 0", "7 libobjc.A.dylib 0x37bab2a9 objc_exception_rethrow + 12", "8 CoreFoundation 0x3575a50d CFRunLoopRunSpecific + 404" 例如原因: *** -[__NSArrayI objectAtIndex:]: index 0 beyond bounds for empty array 但我的应用程序中有数十个数组,所以我需要帮助来查找抛出exception的特定行,使用从堆栈跟踪中获得的数据。 有没有人知道从苹果或其他的一个很好的文章/教程,在那里我可以学习解码堆栈跟踪中的数字,以find源代码中有问题的行。 提前致谢!

Xcode 4中没有外部库的符号/源代码

我的应用程序没有看到一个库的源代码: 如果我在库方法的“跳转到定义”,XCode带我到.h文件,但说没有.cpp对应 在debugging时,我看不到任何源代码,并且库的大部分调用堆栈都已丢失: 我已经确保“debugging时显示反汇编”是UNchecked 我build立了库作为debugging,然后打包头+ .a文件到SDK目录。 所以我想我需要将debugging文件复制到该SDK目录,或者告诉我的应用程序在哪里看。 我不知道该怎么做。 为了澄清,我的应用程序项目不保留对图书馆项目的参考,只对.a文件和标题目录。 这是因为库项目是由CMake创build的,我不想修改它。

得到奇怪的debugging器消息:断言失败:(cls),函数getName:这是什么?

由于我从Xcode 3.2.3升级到3.2.4和iOS 4.0.1到iOS 4.1 SDK,当我在我的代码中设置一个断点并且单步执行指令时,在每一步中,debugging器将吐出一个或多个线: Assertion failed: (cls), function getName, file /SourceCache/objc4_Sim/objc4-427.1.1/runtime/objc-runtime-new.m, line 3939 它不会发生在特定的行或特定的说明。 我在代码中有几个断点,每当我点击其中一个时,debugging器开始喷出这些消息。 程序正常工作似乎没有任何不利影响。 当有几十条这样的线路时,检索控制台中的信息是非常烦人的。 我相信他们不是什么都没有显示出来,但是我还没有发现问题可能是什么,什么样的指令可能会导致它。 如果我不打断点,那么我没有看到任何这些线。 我做了清理和重build我的项目多次无济于事。 有人知道这是什么吗?