Xamarin.ios 在<;未知>&书信电报;0xFFFFFF>;stacktrace错误(请参阅下面的代码)

Xamarin.ios 在<;未知>&书信电报;0xFFFFFF>;stacktrace错误(请参阅下面的代码),xamarin.ios,Xamarin.ios,使用NSData valueData=NSData.FromBytes(值1)获取stacktrace错误本机崩溃报告 ================================================================= 在执行本机代码时收到SIGSEGV。这通常表示mono运行时或应用程序使用的某个本机库中出现致命错误 ======================================================================我还没

使用NSData valueData=NSData.FromBytes(值1)获取stacktrace错误

本机崩溃报告

=================================================================

在执行本机代码时收到SIGSEGV。这通常表示mono运行时或应用程序使用的某个本机库中出现致命错误


======================================================================

我还没有以任何方式解决它。我正在为一个使用VS2019和a、Mac的ipad应用程序项目开发C#
尼克

欢迎来到SO!你们最好更新所有有问题的内容,这样其他人就会更清楚地知道这个问题

虽然不知道为什么NSData.FromBytes发生错误,但是有一个解决方法供您检查。使用
NSData.FromArray
int
传输到
NSData

if (this.PendingLocalUARTCreditsCount != 0) return;

this.PendingLocalUARTCreditsCount = this.MaxLocalUARTCreditsCount - this.LocalUARTCreditsCount;
IntPtr value = (IntPtr)(this.PendingLocalUARTCreditsCount);
NSData valueData = NSData.FromBytes(value, 1);
this.CbPeripheral.WriteValue(valueData, this.UartRxCreditsCharacteristic, CBCharacteristicWriteType.WithoutResponse);
那么输出是:

int valueInt = 1234567890;
Byte[] byteData = new Byte[1];
byteData[0] = (Byte)((valueInt & 0xFF));

Console.WriteLine("-----NSData-------" + NSData.FromArray(byteData));
因此,可以按如下方式修改共享代码:

-----NSData-------{length = 1, bytes = 0xd2}

我得到的是SIGSEGV错误,不是SIGABRT。我可以发现连接和断开连接,但不能在外围设备上设置rx积分(使用Telit 4.0 Bluetooth low,energy module),我正在尝试让通信正常工作,因此不必设置Bluetooth权限。我认为问题在于当应用程序崩溃时,当它延迟数据时,指针(Intpr)指向错误的地址。 谢谢你的意见。
关于nick

您现在似乎已经解决了问题,请记住将您的答复标记为答案,这可能对其他社区成员有所帮助,谢谢。调试输出显示基本故障地址报告。这是因为指针(IntPtr)访问了错误的地址,所以当我在代码的NSData行中引用数据时,它可能会崩溃。有人找到线索了吗?尼克,我得到的是SIGSEGV错误,不是SIGABRT。我可以发现连接和断开连接,但不能在外围设备上设置rx积分,因为可疑指针指向错误的地址。我想我不需要权限。当做nick@NickHunterBlair好的,看看这个:嗨,小朋友,应用程序实际上并没有崩溃,只是当它运行我前面提到的线路时,被SIGSEGV错误卡住了。
...
Byte[] byteData = new Byte[1];
byteData[0] = (Byte)((this.PendingLocalUARTCreditsCount & 0xFF));
NSData valueData = NSData.FromArray(byteData);
...