← 返回目录

如何在gdb里打印unicode 16(utf-16) C#的字符串

发布时间: 2019-12-11 16:05:35
浏览量: 618
标签: gdb, c#, unicode, utf-16
使用调用unity3d的il2cpp的时候,往往需要看看一下字符,但是这个c#的字符串是一个对象来的,并且是一个16bit的方式一个字符的unicode编码。x/hs addr效果如下:(gdb) x/hs 0x779f8e8c0x779f8e8c: u"I am the unicode strings"//断点Resources.Load之后,打印一下传入的文件的名字...

 

使用调用unity3d的il2cpp的时候,往往需要看看一下字符,但是这个c#的字符串是一个对象来的,并且是一个16bit的方式一个字符的unicode编码。

x/hs addr

效果如下:

(gdb) x/hs 0x779f8e8c
0x779f8e8c:	u"I am the unicode strings"


//断点Resources.Load之后,打印一下传入的文件的名字.
Breakpoint 2, Resources_Load_TisRuntimeObject_m2B4657C4B7BB759A295E6F956D014FC1122DD3D8_gshared (___path0=0x7ab587a8, method=0x7bf85500)

//偏移是第一个参数+0xc
(gdb) x/hs $r0+0xc
0x7ab587b4:	u"I am the file name"