我正在使用Xcode和Clang作爲編譯器,並且我正在通過地址爲0xCDCDCDCD
的指針調用函數時獲得EXC_BAD_ACCESS。我也看到一些變量設置爲0xABABABAB
左右。我環顧四周,發現這些值在Visual Studio中用作幻數,以幫助查看問題所在。然而,我找不到Xcode使用的魔術數字列表(或Clang,不知道它是來自編譯器還是IDE的機制)。有誰知道我在哪裏可以找到一個?Xcode/Clang的神奇數字?
2
A
回答
2
我不知道任何全面的列表,這似乎是您正在尋找的內容,但0xCDCDCDCD
通常在您使用Debug版本分配一塊內存時由C運行時使用。
1
我不知道任何這樣的列表,除了Wikipedia "magic debug value" list列出調試中使用的各種幻數。
麥克上面所說的,機會是指針被初始化爲無效的內存地址在調試版本,使其更容易捕捉到潛在的指針相關的錯誤。
這是一個編譯器或運行時功能,但它們被初始化的確切值應該無關緊要,因爲該功能在那裏使指針調試變得更簡單。 EXC_BAD_ADDRESS
只是嘗試對未分配的內存執行操作的結果,實際上是預期的行爲。
這些數字在Visual Studio中被用作幻數,可能正是因爲它們可以用來在運行編譯程序時找到未初始化的指針。
相關問題
- 1. setbounds值是神奇數字
- 2. 檢查神奇數字
- 3. 使用NDepend尋找神奇的數字
- 4. 字節改變神奇
- 5. Enumerator#feed的神奇
- 6. MATLAB神奇的神祕計時行爲
- 7. LDAP中神奇數字1.2.840.113556.1.4.1941的名稱是如何得到的?
- 8. MVVM CallerMemberName和 「神奇字符串」
- 9. protovis神奇屬性
- 10. 搜索引擎優化和URL中的神奇數字
- 11. 如何避免神奇的Gtk2 accel_key數字?
- 12. ClassNotFoundException的是神奇選中
- 13. 「神奇」的QTextEdit大小
- 14. __reversed__神奇的方法
- 15. AFIncrementalStore的神奇記錄
- 16. 核心數據和神奇記錄
- 17. MySQL查詢神奇地抓住數值
- 18. 過期餅乾 - 神奇數-86400
- 19. 傳遞軌協會和神奇數
- 20. 用正則表達式尋找神奇數字
- 21. gtk_entry_set_activates_default沒有做到神奇
- 22. Laravel聽起來很神奇
- 23. LDD找到libQtCore神奇
- 24. Installshield OnInstalledXXX神奇地叫?
- 25. 神奇紀錄:和聚集
- 26. 如何使用神奇記錄保存核心數據中的字典數據
- 27. 函數的參數在Angularjs中神奇地匹配了嗎?
- 28. 從字典中提取值的神奇方式
- 29. PHP神奇的getter和價值
- 30. 有一個神奇的獲得在C#