2013-10-17 9 views
0

Ruby 모션을 사용하고 있습니다. 아래는 내 환경의 세부 사항입니다.시뮬레이터에서 실행중인 앱이 갑작스럽게 충돌하는 이유는 무엇입니까?

$ 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) 

양식을 작성한 양식을로드하는 버튼을 클릭하면 내 앱이 갑자기이 오류 메시지와 충돌합니다.

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

내 응용 프로그램이 완벽하게 잘 작동했다 rubymotion를 업그레이드하기 전에 나는 나뿐만 아니라 내 보석의 일부를 업데이트했다 rubymotion를 업데이트하면 :

* Simulator session ended with error: Error Domain=DTiPhoneSimulatorErrorDomain Code=1 "The simulated application quit." UserInfo=0x10011e200 {NSLocalizedDescription=The simulated application quit., DTiPhoneSimulatorUnderlyingErrorCodeKey=-1}

rake debug=1으로 실행 나는 다음을 참조하십시오.

어떻게 해결할 수 있습니까?

답변

0

할당 취소 된 개체에 액세스하려고 할 때 거의 항상 발생합니다. 변수를 인스턴스 변수 (@myvar) 또는 전역 변수 ($myvar)로 변경하고 문제가 해결되는지 확인하십시오. 분명히, 프로덕션 환경에서 글로벌을 사용하고 싶지는 않지만 한 번 사용해보십시오.

0

그 중단 점을 때 처음으로 할 일은 백 트레이스를 얻는 것입니다. 종종 이것은 올바른 방향으로 당신을 가리킬 것입니다. 정보를 보는 또 다른 방법은 콘솔을 연 다음 앱을 실행/크래쉬하는 것입니다. 무슨 일이 일어나는지 보아라.

@ 자몬 (Jamon)은 일반적으로 GC가 예상하지 못했을 때 GC로 수확 한 것입니다.