调试器使用LLDB时,Xcode 4.6.1崩溃

时间:2013-04-04 02:16:35

标签: xcode

Xcode 4.6.1在我的新mac mini上使用LLDB调试器继续崩溃。 任何人都可以帮我解决发生的事情吗?可以使用GDB,但我宁愿使用默认调试器,因此每次运行/测试新项目时都不需要更改它。

我已经阅读了有关编辑/ etc / hosts以获得127.0.0.1 localhost的内容,但它无效。

以下是我的Xcode崩溃时的一些细节。

Process:         Xcode [220]
Path:            /Applications/Xcode.app/Contents/MacOS/Xcode
Identifier:      com.apple.dt.Xcode
Version:         4.6.1 (2067)
Build Info:      IDEApplication-2067000000000000~2
Code Type:       X86-64 (Native)
Parent Process:  launchd [133]
User ID:         501

Date/Time:       2013-04-04 10:08:23.876 +0800
OS Version:      Mac OS X 10.8.3 (12D78)
Report Version:  10

Interval Since Last Report:          11460 sec
Crashes Since Last Report:           4
Per-App Interval Since Last Report:  5582 sec
Per-App Crashes Since Last Report:   4
Anonymous UUID:                      F7A4E172-EA44-2180-5471-22ADD0DA75A1

Crashed Thread:  0  Dispatch queue: com.apple.main-thread

Exception Type:  EXC_CRASH (SIGABRT)
Exception Codes: 0x0000000000000000, 0x0000000000000000

Application Specific Information:
ProductBuildVersion: 4H512
UNCAUGHT EXCEPTION (NSInvalidArgumentException): -[__NSCFString alloc]: unrecognized selector sent to instance 0x4008c2040
UserInfo: (null)
Hints: None
Backtrace:
  0  0x00007fff8ffacaee __exceptionPreprocess (in CoreFoundation)
  1  0x00007fff856553f0 objc_exception_throw (in libobjc.A.dylib)
  2  0x00007fff9004340a -[NSObject(NSObject) doesNotRecognizeSelector:] (in CoreFoundation)
  3  0x00007fff8ff9b02e ___forwarding___ (in CoreFoundation)
  4  0x00007fff8ff9ae18 _CF_forwarding_prep_0 (in CoreFoundation)
  5  0x000000010c2f00a6 -[DBGLLDBDebugLocalService operationWorkerWithLaunchSession:error:] (in DebuggerLLDBService)
  6  0x000000010c3505ba -[IDERuniPhoneSimulatorService operationWorkerWithLaunchSession:error:] (in IDEiPhoneSupport)
  7  0x0000000104c6a017 -[IDERunDestination runOperationForLaunchSession:error:] (in IDEFoundation)
  8  0x0000000104c68c87 -[IDELaunchSchemeAction 

1 个答案:

答案 0 :(得分:1)

也发生在我身上。 Esp与SIGABRT在主类。我被建议调试。我确实尝试过lldb调试。它适用于一个应用程序。您需要找到引发错误的寄存器。要找到你需要先输入调试窗口(当它的lldb错误时!)

register read

然后你会发现它引发注册的错误。然后按照以下说法进行操作如果eax是注册表..

po $eax
po [$eax class]
po [$eax name]
po [$eax reason]

然后你就会知道你必须在代码中做出哪些改变。希望它适合你。