2012-09-24 3 views
0

IPad 자체에서 직접 실행하는 Windows의 경우 IOS Emulator에서 실행하면 내 앱 (기본적으로 수정 된 모바일 월드 컨퍼런스) 앱에서 문제가 발생합니다. 다른 프로세스가 있거나 관련되어 있으므로 정확히 같을 것이라고 기대하지 않습니다. 구체적인에서IOS 에뮬레이터에서 IPad와 다르게 실행되는 MonoTouch

, 나는 오류가

인으로 초기화 SQL 데이터베이스 (SqlLite) 주위에 오류를 받고 있어요 "정의 개체 없음"

나는 시도하고 단일 단계 디버그 장치에 , 어떻게 든 스택이 손상된 것처럼 느껴지고 심지어 메소드로 디버깅 할 수없는 오류가 발생합니다.

제 질문은, 내가 찾을 수있는 차이점과 디버깅 방법은 무엇입니까? 문제를 일으키는 몇 가지 패턴이 있어야합니다. 그게 무엇인지 또는 어떻게 알아 내는지 모릅니다. 나는 C# 코드에서 x86을 사용하고있다.

+1

문제를 해결할 수있는 코드 (특히 "SQL 데이터베이스 초기화"코드)를 제공해주십시오. –

+0

Windows에서 iOS 에뮬레이터를 어떻게 실행합니까? – jonathanpeppers

+1

monodevelop에서 시작한 Windows에서 IOS 에뮬레이터를 실행하고 있습니다. 코드에 관해서는 테이블 만들기뿐 아니라 이상한 방식으로 충돌하는 다른 것들 (컬렉션의 첫 번째 레코드를 가져 오는 LINQ 문과 같은)이 있습니다. 특히, 에뮬레이터가 다르게 실행될 수있는 일들을 요구하고 있습니다. 나는이 특정 문제에 대한 도움을 요청하지 않고있다. 왜냐하면 (나는 엄청난 양의 코드를 추가하지 않고서도 특별한 경우가 없기 때문이다.) –

답변

0

시뮬레이터의 동작이 다른 이유는 무엇입니까? 시뮬레이터는 실제 장치와 같이 메모리 사용에 제약을받지 않으므로 장치의 메모리 경고를받을 수 있습니다 (적절하게 처리하지 않으면 충돌이 발생할 수 있음). 그러나 코드 자체가 더 빠르게 실행되므로 스레드 간의 경쟁 조건이 발생할 가능성이 높으므로이를 조심하십시오. 다른 스레드에서 데이터베이스와 대화하거나 적어도 적절한 잠금을 사용하지 마십시오. 물론 장치에서만 발생하는 AOT limitations이 있습니다. LINQ 문제는 AOT 문제처럼 들립니다.

관련 문제