我在char數組中存儲了一些unicode字符「лфи」。 當我觀看(X/30秒)在gdb值它告訴我是這樣的:Unicode字符串問題
0x80ac47c: 0x80ac482 「\ 004> \ 004?」:「A \ 0048 \ 004; \ 004L \ 004D \ 004> \ 004 = \ 004:\ 0045 \ 004 /「
爲什麼發生這種情況,這些\ 004代表什麼?
我在char數組中存儲了一些unicode字符「лфи」。 當我觀看(X/30秒)在gdb值它告訴我是這樣的:Unicode字符串問題
0x80ac47c: 0x80ac482 「\ 004> \ 004?」:「A \ 0048 \ 004; \ 004L \ 004D \ 004> \ 004 = \ 004:\ 0045 \ 004 /「
爲什麼發生這種情況,這些\ 004代表什麼?
你應該閱讀gdb's character set documentation,因爲看起來gdb正在轉義這些字符,而不是讓終端顯示它們。
謝謝,我會檢查。 – RKum 2013-03-27 10:51:54
請參閱Gdb Unicode Printing。如果你在你的代碼中重載dbg_dump
函數,通過在gdb中調用print dbg_dump("лфи")
它將有望調用你的重載函數,從而產生正確的UTF-8表示。請記住,在您的帳戶dbg_dump
中,您可能需要明確表示要顯示Unicode字符。
謝謝,我會檢查。 – RKum 2013-03-27 10:52:32
使用'x/hs addr'命令,請參考以下鏈接:[http://reverseengineering.stackexchange.com/questions/1860/printing-unicode-strings-in-gdb-in-osx](http: //reverseengineering.stackexchange.com/questions/1860/printing-unicode-strings-in-gdb-in-osx)。 – 2014-11-25 02:56:34