2013-07-31 14 views
5

Xamarin.IOS kullanarak ilk gerçek uygulamam üzerinde çalışıyorum.Xamarin.iOS uygulamasında SIGSEGV'nin nedenini bulma

mono-rt: Stacktrace: 
mono-rt: at <unknown> <0xffffffff> 
mono-rt: at (wrapper managed-to-native) MonoTouch.Foundation.NSObject.monotouch_release_managed_ref (intptr) <IL 0x00023, 0xffffffff> 
mono-rt: at MonoTouch.Foundation.NSObject.ReleaseManagedRef() [0x00000] in /Developer/MonoTouch/Source/monotouch/src/Foundation/NSObject.cs:98 
mono-rt: at MonoTouch.Foundation.NSObject/NSObject_Disposer.Drain (MonoTouch.Foundation.NSObject) [0x00062] in /Developer/MonoTouch/Source/monotouch/src/shared/Foundation/NSObject2.cs:545 
mono-rt: at (wrapper runtime-invoke) <Module>.runtime_invoke_void_object (object,intptr,intptr,intptr) <IL 0x00050, 0xffffffff> 
mono-rt: at <unknown> <0xffffffff> 
mono-rt: at (wrapper managed-to-native) MonoTouch.UIKit.UIApplication.UIApplicationMain (int,string[],intptr,intptr) <IL 0x0009f, 0xffffffff> 
mono-rt: at MonoTouch.UIKit.UIApplication.Main (string[],string,string) [0x0004c] in /Developer/MonoTouch/Source/monotouch/src/UIKit/UIApplication.cs:38 
mono-rt: at Diet52App.Application.Main (string[]) [0x00008] in /Users/danielnordmark/Projects/Diet52App/Diet52App/Main.cs:16 
mono-rt: at (wrapper runtime-invoke) <Module>.runtime_invoke_void_object (object,intptr,intptr,intptr) <IL 0x00050, 0xffffffff> 

mono-rt: 
Native stacktrace: 


mono-rt: 
================================================================= 
Got a SIGSEGV while executing native code. This usually indicates 
a fatal error in the mono runtime or one of the native libraries 
used by your application. 
================================================================= 

Benim tahminim bazı nesne bunu kullanmaya çalışıyorum önce toplanan çöpleri alır olmasıdır: Uygulamanın harika çalışıyor zamanlarda, ancak birkaç kez aşağıdaki stacktrace çöker günde çoğu. Ama kodumda ne zaman ve nerede bulunacağını öğrenmek için biraz kendimi kaybettim.

Sorunun nerede olduğunu nasıl öğrenebilirim? Herhangi bir yardım çok takdir edilir!

cevap

4

Sorun benim UITableViewController ile ilgili görünüyordu, bir temel sınıf ve iki farklı örnek vardı. Bu ikisi arasındaki bir çatışma, bir SIGSEGV hatasıyla sonuçlandı.

ben yapmak zorunda tek değişiklik böyle InvokeOnMainThread ile kod tamamlamayı oldu bu cevap https://stackoverflow.com/a/6769885/248905

için sorun sayesinde izlemek başardı

Güncelleme: Ben sonra benim çözüm güncellenmiş Xamarin'de Rolf ile bağlantı kurdum, doğru düzeltme Kodu Dispose yerine ViewDidDissapear'a koymaktır.

İlgili konular