
目錄工具1.Asan工具神器AddressSanitizer地址消毒劑2.編譯選項日常ASan系列工具Linux與WIn地址對比 Linux vs Windows 地址對比錯誤碼盡量打印giteeTCPCustomize協議實現計算器復習必看 額外Protocol.hpp [267]總結遇到的bug 設計原則應用層類型野指針養成習慣g -g -fsanitizeaddress,undefined -Wall -Wextra -o main main.cpp工具1.Asan工具神器AddressSanitizer地址消毒劑編譯選項 -fsanitizeaddressg -g -fsanitizeaddress -o main main.cpp直接定位錯誤之處太逆天了。2.編譯選項g -g -Wall -Wextra -Wuninitialized -o main main.cpp習慣以后均使用 -g -Wall -Wextra -Wuninitialized這可不是我說的是指導級日常g -g -fsanitizeaddress,undefined -Wall -Wextra -o main main.cppASan系列工具Linux與WIn地址對比Linux vs Windows 地址對比特性Linux (64位)Windows (64位)地址范圍0x555555555xxx或0x7fffxxxx0x00007ff7xxxx或0x000001xxxx典型堆地址0x555555xxxxxx0x000001xxxx典型棧地址0x7fffxxxxxxxx0x000000xxxxx典型大小48 位有效地址44-48 位有效地址錯誤碼盡量打印fprintf(stderr, fail: %s (errno%d, ret%d)\n, \ strerror(errno), errno, ret);