2013-05-03 118 views
0

我正在使用靜態分析來驗證我個人開發的OSX程序。使用GDB我找到了NSString的內存地址。有沒有解析它作爲NSString並閱讀其內容的方法? 'po'不起作用,因爲不包含符號表。所有其他檢查記憶命令不起作用。我假設字符串文字被包含在對象的某個地方,我可以轉儲整個對象UTF-8/16嗎?gdb print NSString調試

+0

po 0x467954588或任何應該工作,如果這是真正的地址,和。不只是一個未初始化的指針 – 2013-05-04 12:45:24

回答

1

常量字符串對象至少有兩種不同的佈局。它們都存儲一個指向該對象中字符串字節的指針;我認爲一個佈局使用UTF-8,另一個使用UTF-16。正確的x/x和x/s命令集應該能夠打印內容,但是如果調試器的內存命令不起作用,那就沒有幫助。