2016-12-15 95 views
2

我正在使用Xamarin.iOS,它是围绕Objective-C的C#封装。这是C#的调试问题。我可以从这样的崩溃信息中获得有用的信息吗?

我没有出车祸,在一个任务发生的事情,但这些信息是没有用的,那就是:

*** Terminating app due to uncaught exception 'System.AggregateException', reason: 'System.AggregateException: A Task's exception(s) were not observed either by Waiting on the Task or accessing its Exception property. As a result, the unobserved exception was rethrown by the finalizer thread. ---> Newtonsoft.Json.JsonReaderException: Unexpected character encountered while parsing value: <. Path '', line 0, position 0. 
    at Newtonsoft.Json.JsonTextReader.ParseValue() <0x100b32280 + 0x004b4> in <filename unknown>:0 
    at Newtonsoft.Json.JsonTextReader.Read() <0x100b2ed80 + 0x00057> in <filename unknown>:0 
    at Newtonsoft.Json.JsonReader.ReadAndMoveToContent() <0x100b28ee0 + 0x0001f> in <filename unknown>:0 
    at Newtonsoft.Json.Serialization.JsonSerializerInternalReader.ReadForType (Newtonsoft.Json.JsonReader reader, Newtonsoft.Json.Serialization.JsonContract contract, Boolean hasConverter) <0x100b78c70 + 0x00097> in <filename unknown>:0 
    at Newtonsoft.Json.Serialization.JsonSerializerInternalReader.Deserialize (Newtonsoft.Json.JsonReader reader, System.Type objectType, Boolean checkAdditionalContent) <0x100b6f700 + 0x0008f> in <filename unknown>:0 
    --- End of inner exception stack trace --- 
---> (Inner Exception #0) Newtonsoft.Json.JsonReaderException: Unexpected character encountered while parsing value: <. Path '', line 0, position 0. 
    at Newtonsoft.Json.JsonTextReader.ParseValue() <0x100b32280 + 0x004b4> in <filename unknown>:0 
    at Newtonsoft.Json.JsonTextReader.Read() <0x100b2ed80 + 0x00057> in <filename unknown>:0 
    at Newtonsoft.Json.JsonReader.ReadAndMoveToContent() <0x100b28ee0 + 0x0001f> in <filename unknown>:0 
    at Newtonsoft.Json.Serialization.JsonSerializerInternalReader.ReadForType (Newtonsoft.Json.JsonReader reader, Newtonsoft.Json.Serialization.JsonContract contract, Boolean hasConverter) <0x100b78c70 + 0x00097> in <filename unknown>:0 
    at Newtonsoft.Json.Serialization.JsonSerializerInternalReader.Deserialize (Newtonsoft.Json.JsonReader reader, System.Type objectType, Boolean checkAdditionalContent) <0x100b6f700 + 0x0008f> in <filename unknown>:0 <--- 

从此,我知道的地方我有一个JSON被deserialised接受HTML(开始与<)。

现在我是通过坠毁其余信息滚动,我开始思考这个信息:

Thread 1: 
0 libsystem_kernel.dylib    0x000000018ca1c16c 0x18ca1b000 + 4460 
1 CoreFoundation      0x000000018da17cec 0x18d93b000 + 904428 
2 CoreFoundation      0x000000018da15908 0x18d93b000 + 895240 
3 CoreFoundation      0x000000018d944048 0x18d93b000 + 36936 
4 CFNetwork       0x000000018e135fd0 0x18e067000 + 847824 
5 Foundation       0x000000018e55347c 0x18e449000 + 1090684 
6 libsystem_pthread.dylib    0x000000018cb00850 0x18cafd000 + 14416 
7 libsystem_pthread.dylib    0x000000018cb00760 0x18cafd000 + 14176 
8 libsystem_pthread.dylib    0x000000018cafddac 0x18cafd000 + 3500 

什么,这些数字意味着什么?我可以检索哪些文件,甚至是从这些数字中调用哪种方法?

+0

您可以用Xcode或atos终端命令来表示这些数字 - https://developer.apple.com/library/content/technotes/tn2151/_index.html#//apple_ref/doc/uid/DTS40008184-CH1-符号 – Darshana

回答

1

以上崩溃信息显示活动帧列表碰撞时上述样品架的

1 CoreFoundation      0x000000018da17cec 0x18d93b000 + 904428 

详细

1 : Frame Number 

CoreFoundation : Framework Name 

0x000000018da17cec : Address of the called Function 

0x18d93b000 : File Name 

+8740 : Line of the Code 

要获取函数名和地址的文件名,我们需要symbolicate崩溃报告。

在这个问题中发布的崩溃日志的一部分显示了所有默认的iOS框架,所以即使在符号化之后,您可能也无法获得那么多有用的信息。您需要使用应用程序名称查找活动框架,以便为您提供有用的信息。

有许多第三方库可供我们用于崩溃报告,如Fabric,Hockey App,Flurry。

Hockey ap似乎有支持Xamarin,希望它有帮助。

+0

我所要做的只是象征性的报告。我现在使用hockeyApp,并且每次上传构建时我都会将他们的dsyms上传到他们,以便每次崩溃都可以立即进行符号化 – vrwim

相关问题