いくつかの Unicode 文字「лфи」を char 配列に格納しています。(x/30s) gdb の値を表示すると、次のように表示されます。
0x80ac47c: "?\004>\004" 0x80ac482: "A\0048\004;\004L\004D\004>\004=\004:\0045\004/"
なぜこのようなことが起こっているのでしょうか?これらの \004 は何を表しているのでしょうか?
gdb はこれらの文字を端末に表示させる代わりにエスケープしているように見えるため、gdb の文字セットのドキュメントを読む必要があります。
Gdb Unicode 印刷を参照してください。dbg_dump
コード内で関数をオーバーロードする場合、 print dbg_dump("лфи")
gdb 内で呼び出すことにより、オーバーロードされた関数が呼び出され、適切な UTF-8 表現が得られることが期待されます。カスタムでは、dbg_dump
Unicode 文字を表示したいことを明示的に表現する必要がある場合があることに注意してください。