0

ルビモーションを使用しています。以下、私の環境の詳細です。

$ motion --version
2.9
$ bundle
Using bubble-wrap (1.4.0) 
Using motion-require (0.0.7) 
Using formotion (1.6) 
Using motion-layout (0.0.1) 
Using thor (0.18.1) 
Using rubymotion_generators (0.1.0) 
Using bundler (1.3.5) 

アプリを実行し、フォーメーションで作成されたフォームをロードすると思われるボタンをクリックすると、アプリが突然クラッシュし、このエラー メッセージが表示されます。

*シミュレータ セッションは次のエラーで終了しました: エラー Domain=DTiPhoneSimulatorErrorDomain Code=1 "シミュレートされたアプリケーションは終了しました。" UserInfo=0x10011e200 {NSLocalizedDescription=シミュレートされたアプリケーションが終了しました。DTiPhoneSimulatorUnderlyingErrorCodeKey=-1}

で実行するrake debug=1と、次のように表示されます。

Program received signal EXC_BAD_ACCESS, Could not access memory.
Reason: KERN_INVALID_ADDRESS at address: 0xc7243c89
0x0081309f in objc_msgSend ()
(gdb) 

私のアプリは ruby​​motion をアップグレードする前は問題なく動作していましたが、rubymotion を更新したら、いくつかの gem も更新する必要がありました。

これを解決またはトラブルシューティングするにはどうすればよいですか?

4

2 に答える 2

0

そのブレークポイントに到達したときに最初に行うことは、バックトレースを取得することです。多くの場合、これは正しい方向を示します。情報を表示するもう 1 つの方法は、コンソールを開き、アプリを実行またはクラッシュさせることです。何が起こっているか見てください。

@Jamon が言うように、それは通常、GC によって予想外のときに取得されたものです。

于 2013-10-19T06:04:58.080 に答える
0

これは、ほとんどの場合、割り当てが解除されたオブジェクトにアクセスしようとしている場合です。変数をインスタンス変数 ( @myvar) またはグローバル ( $myvar) に変更してみて、問題が解決するかどうかを確認してください。明らかに、本番環境でグローバルを使用したくありませんが、試してみてください。

于 2013-10-18T03:32:02.850 に答える