Assertion failed: (pointer_byte_size == m_host_arch.GetAddressByteSize())


#1

lldb调试的时候出现了下面的错误,有人知道怎么解决吗?

Assertion failed: (pointer_byte_size == m_host_arch.GetAddressByteSize()), function GetHostInfo, file /Library/Caches/com.apple.xbs/Sources/lldb/lldb-340.4.119.1/source/Plugins/Process/gdb-remote/GDBRemoteCommunicationClient.cpp, line 2079.
Abort trap: 6


#2

请问楼主解决了吗?我的报错和你一模一样


#3

应该是瘦身的时候,cpu架构版本选择错误导致。我是iPhone 5s,架构是arm64,但是当时选择了armv7s。

报错的这个东西貌似源码公布了部分,https://opensource.apple.com/source/lldb/lldb-300.2.47/source/Plugins/Process/gdb-remote/GDBRemoteCommunicationClient.cpp.auto.html

在GetHostInfo这个函数里面,发现代码块在一个ifblock,条件是if (cpu != LLDB_INVALID_CPUTYPE)


#4

太棒了,我把debugserver重新瘦身,使用arm64,然后重新签名,最后就正常了

lipo -thin arm64 debugserver -output debugserver
codesign -s - --entitlements ent.plist -f debugserver