2013-10-25 4 views
32

コールをステップオーバーしようとするたびにアプリケーションがクラッシュします。デバッガがなければ正常に動作します。デバッガをステップ実行するとEXC_BAD_ACCESS(コード= 1、アドレス= 0x0)

また、シミュレータでアプリを実行すると、デバッガの有無に関係なく正常に動作します。

最近、私はMac OS X 10.8を10.9(Mavericks)にアップグレードしました。アップグレード前に問題はありませんでした。

問題の原因とはどのように解決できますか?

以下はバックトレースです。私のアプリはARCを使用しています。ゾンビを有効にして例外ブレークポイントを追加しましたが、検出された例外ブレークポイントが決してトリガーされないゾンビはありません。

* thread #1: tid = 0x2503, 0x00000000, queue = 'com.apple.main-thread, stop reason = EXC_BAD_ACCESS (code=1, address=0x0) 
     frame #0: 0x00000000 
     frame #1: 0x35e170c4 UIKit`-[UIApplication sendAction:to:from:forEvent:] + 72 
     frame #2: 0x35e17076 UIKit`-[UIApplication sendAction:toTarget:fromSender:forEvent:] + 30 
     frame #3: 0x35e17054 UIKit`-[UIControl sendAction:to:forEvent:] + 44 
     frame #4: 0x35e1690a UIKit`-[UIControl(Internal) _sendActionsForEvents:withEvent:] + 502 
     frame #5: 0x35e16e00 UIKit`-[UIControl touchesEnded:withEvent:] + 488 
     frame #6: 0x35d3f5f0 UIKit`-[UIWindow _sendTouchesForEvent:] + 524 
     frame #7: 0x35d2c800 UIKit`-[UIApplication sendEvent:] + 380 
     frame #8: 0x35d2c11a UIKit`_UIApplicationHandleEvent + 6154 
     frame #9: 0x37a1e5a2 GraphicsServices`_PurpleEventCallback + 590 
     frame #10: 0x37a1e1d2 GraphicsServices`PurpleEventCallback + 34 
     frame #11: 0x33ef9172 CoreFoundation`__CFRUNLOOP_IS_CALLING_OUT_TO_A_SOURCE1_PERFORM_FUNCTION__ + 34 
     frame #12: 0x33ef9116 CoreFoundation`__CFRunLoopDoSource1 + 138 
     frame #13: 0x33ef7f98 CoreFoundation`__CFRunLoopRun + 1384 
     frame #14: 0x33e6aebc CoreFoundation`CFRunLoopRunSpecific + 356 
     frame #15: 0x33e6ad48 CoreFoundation`CFRunLoopRunInMode + 104 
     frame #16: 0x37a1d2ea GraphicsServices`GSEventRunModal + 74 
     frame #17: 0x35d80300 UIKit`UIApplicationMain + 1120 
     frame #18: 0x000faac8 MyApp`main(argc=1, argv=0x2fd0fd08) + 116 at main.m:16 

EDIT:

私は、最新のXcodeのバージョン5.0.1(5A2053)を持っています。

私は最初から新しいアプリケーションを作成し、それを問題なく実行しました。その後、私はViewControllerviewDidLoadにブレークポイントを置き、ステップオーバーしようとしました。ここで私は別のクラッシュ

* thread #1: tid = 0x2503, 0x3bb9d7c4 libobjc.A.dylib`objc_msgSendSuper2 + 4, queue = 'com.apple.main-thread, stop reason = EXC_BAD_ACCESS (code=1, address=0x4) 
    frame #0: 0x3bb9d7c4 libobjc.A.dylib`objc_msgSendSuper2 + 4 
    frame #1: 0x000b913a test`-[ViewController viewDidLoad](self=0x1cda5c70, _cmd=0x361bd5db) + 62 at ViewController.m:19 
    frame #2: 0x35d4b594 UIKit`-[UIViewController loadViewIfRequired] + 364 
    frame #3: 0x35d8bd78 UIKit`-[UIWindow addRootViewControllerViewIfPossible] + 64 
    frame #4: 0x35d87aec UIKit`-[UIWindow _setHidden:forced:] + 364 
    frame #5: 0x35dc91e8 UIKit`-[UIWindow makeKeyAndVisible] + 60 
    frame #6: 0x35d8c83e UIKit`-[UIApplication _callInitializationDelegatesForURL:payload:suspended:] + 1666 
    frame #7: 0x35d8484a UIKit`-[UIApplication _runWithURL:payload:launchOrientation:statusBarStyle:statusBarHidden:] + 698 
    frame #8: 0x35d2cc38 UIKit`-[UIApplication handleEvent:withNewEvent:] + 1004 
    frame #9: 0x35d2c6cc UIKit`-[UIApplication sendEvent:] + 72 
    frame #10: 0x35d2c11a UIKit`_UIApplicationHandleEvent + 6154 
    frame #11: 0x37a1e5a2 GraphicsServices`_PurpleEventCallback + 590 
    frame #12: 0x37a1e1d2 GraphicsServices`PurpleEventCallback + 34 
    frame #13: 0x33ef9172 CoreFoundation`__CFRUNLOOP_IS_CALLING_OUT_TO_A_SOURCE1_PERFORM_FUNCTION__ + 34 
    frame #14: 0x33ef9116 CoreFoundation`__CFRunLoopDoSource1 + 138 
    frame #15: 0x33ef7f98 CoreFoundation`__CFRunLoopRun + 1384 
    frame #16: 0x33e6aebc CoreFoundation`CFRunLoopRunSpecific + 356 
    frame #17: 0x33e6ad48 CoreFoundation`CFRunLoopRunInMode + 104 
    frame #18: 0x35d83484 UIKit`-[UIApplication _run] + 668 
    frame #19: 0x35d80300 UIKit`UIApplicationMain + 1120 
    frame #20: 0x000b93bc test`main(argc=1, argv=0x2fd51d30) + 116 at main.m:16 
    frame #21: 0x3bfd9b20 libdyld.dylib`start + 4 

EDIT 2ました:XCode 5 Crashes while running the app on device

グレッグ・クレイトンを

Others have seen this issue. 
A few things to try: 
1 - Reboot your device and try again. The theory is an old developer disk image is already mounted and won't be unmounted until you reboot. 
2 - Re-install the OS on the device 

Hopefully #1 fixes your issue. Others have done #2 and had their issue fixed, but hopefully it doesn't require an OS re-install. 

次私は両方やったし、それが助けにはならなかった示唆しています。

別のデバイスを使用しようとしましたが、違いがありました。 iOS 6.1でiPod Touchを使用しても、iOS 7.0.2でiPadを使用しても例外はあります。

問題は、デバイスにインストールされているiOSのバージョンに関連しているようです。私はまだそれを修正するために何をすべきか分からない。

EDIT 3:

私のコマンドラインツールのバージョンは、私のXcodeのバージョンを(私は実際には、コマンドラインツールの1つのバージョンのみを持っている)と一致します。

問題はおそらくデバッグ対象のコードとは関係ありません。新しく作成されたXcodeによって作成されたSingle View Applicationでクラッシュします。些細なコードをステップオーバーするとき、それはクラッシュ:

- (void)viewDidLoad 
{ 
    [super viewDidLoad]; 
    // Do any additional setup after loading the view, typically from a nib. 
} 

私は、Appleデベロッパフォーラムにhave askedとジェイソンモレンダ氏から次の応答得た:

を私たちは、あなたが見ているもののように聞こえるバグを追跡していますここに。 若干遅いホストマシンを必要とする微妙なタイミングの問題、または 少し遅いデバイスを使用する必要があります。主にiPhone 4などで、iOS 7でこれを確認する などがあります.iOS 6、iPhone 4、iPhone 3GS デバイスでは、これが最もよく発生します。 ...この問題は、 がXcode 5.0.1で発生します。

だから、Xcodeのバグのようです。

+0

からそれをダウンロードすることができますか? – DarkDust

+0

@ダークダストはい、しました。 – Bobrovsky

+1

アップルのデベロッパーフォーラムで答えを得るチャンスがあると思いますが、Appleのエンジニアが助けてくれることもあります。私は通常の開発者がこの問題の助けになるだろうと思う。 – DarkDust

答えて

23

これは間違いなくXcode 5.0.1のバグです。

これは、Jason Molenda on Apple Developer Forumによって確認されています。唯一の回避策は、Xcode 5にはOS X 10.8.4が必要なため、older version of Xcodeと旧バージョンのMac OS Xを使用することです。

この問題の修正プログラムとしてETAは発表されていません。アップルデベロッパーフォーラムのETAに関する直接の質問は、答えなしで残されています。

UPDATE 06 - 11月 - 2013年:

今日のXcode 5.0.2のプレリリース版developer.apple.comで利用可能になりました。 (とりわけ)このバージョンの修正次の問題:

のiOS 6.xのを実行しているデバイス上のアプリケーションをデバッグするには、EXC_BAD_ACCESSでクラッシュする アプリケーションが発生します。これは解決されました。 (15310896)

私は新しいバージョンをインストールしましたが、問題は本当になくなりました。これで、私の6.xデバイスでアプリをデバッグすることができました。 thread on Apple Developer Forum

ジェイソンモレンダ氏は言った:私はあなたがこのXcodeの5.0.2 シードでアプリストアにアプリを提出することができます聞いてい

+2

これはXcode(5.0.2)の最新のシードリリースで修正されています。 "iOS 6.xを実行しているデバイスでアプリケーションをデバッグすると、アプリケーションが EXC_BAD_ACCESSでクラッシュする問題が解決された(15310896) – Jameo

3

私は全く同じバグがあることを確認します。私のアプリケーションは正常に動作しました。 Xcode 5とMavericksコードのアップグレード後、デバッグしたときにEXC_BAD_ACCESSを取得すると特定の行をステップオーバーすることができません。

私はステップオーバーで渡すことができないラインを覚えておいて、これらのラインの後にブレークポイントを置くか、またはContinue to Lineを使用して問題のあるラインを飛ばします。

PS

ダウンロードXcode 5.0.2 GM seedとデバッグがはるかに優れています。これまでのところ、新しいXcodeで30分を費やしました。

3

開発者のサイトにログインしてXcode 5.0.2 GM seedをダウンロードしてください。このバグが修正されました。
release notesを参照してください。

更新12 - 11月 - 2013年のXcode 5.0.2をリリースしました
、あなたはあなたにも、最新のXcodeのバージョンに更新したDev Center

関連する問題