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斷點讀取包含的字串?
uj5u.com熱心網友回復:
您可以使用p il2cpp :: utils :: StringUtils :: Utf16ToUtf8.因此,如果變數的名稱是L_3,那么您可以這樣做:p il2cpp::utils::StringUtils::Utf16ToUtf8(&L_3->___start_char_1)
uj5u.com熱心網友回復:
其實如果不是太高要求,里面要看下字串,可以在watch視窗,找到這個string_t變數,右鍵 View Memory of *變數名轉載請註明出處,本文鏈接:https://www.uj5u.com/qita/51155.html
標籤:其他技術討論專區
