2015-12-13 35 views
3

我最近升級到Xcode7,並且在使用%p格式說明符時我的輸出發生了更改。當我運行的代碼(如下):Xcode中的更改:格式說明符%p返回<ptr>而不是十六進制值

IOLog("%s[%p]::%s()\n", getName(), this, \_\_FUNCTION\_\_); 

我得到:

com_MyCompany_MyDriver [< PTR>] ::的init()

使用Xcode6我得到:

com_MyCompany_MyDriver [0xffffff8015c49a00 ] :: init()

在Xcode6下,我得到一個真實的地址。在Xcode7下,我得到'ptr'。什麼從6變爲7?爲什麼%p給出這樣一個抽象字符串而不是實際地址?

+0

'this'的類型是什麼? – Avi

回答

1

系統完整性保護通過將其替換爲'< ptr>'來保護內核地址。

+0

任何方式或操作系統級別的開發人員設置來解決這個..?我想我記得在WWDC的其中一個視頻裏聽到過一些東西。 – cacau

相關問題