Unity的IL2CPP / LLVM后端从C#生成cpp文件.您当然可以读取这些文件,并将断点放入其中以查看变量.但是,C#字符串被转换为名为String_t的自定义类. Xcode似乎不知道如何打印这些类的内部字符串,我不知道如何读取原始字节.
这是String_t定义:
struct String_t : public Object_t
{
// system.int32 System.String::length
int32_t ___length;
// System.Char System.String::start_char
uint16_t ___start_char;
};
…任何人都可以弄清楚如何从Xcode断点读取包含的字符串?
解决方法:
您可以使用p il2cpp :: utils :: StringUtils :: Utf16ToUtf8.因此,如果变量的名称是L_3,那么您可以这样做:
p il2cpp::utils::StringUtils::Utf16ToUtf8(&L_3->___start_char_1)
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 [email protected] 举报,一经查实,本站将立刻删除。