GCC && G++
操作系統:Ubuntu 22.04
現象:C++程序編譯時開啟ASAN,運行時有幾率會出現大量AddressSanitizer:DEADLYSIGNAL
參考文章:
https://stackoverflow.com/questions/77894856/possible-bug-in-gcc-sanitizers
https://stackoverflow.com/questions/78136716/addresssanitizerdeadlysignal-from-fsanitize-address-flag
https://zhuanlan.zhihu.com/p/706274443
1.臨時解決方法
關閉隨機分配地址
echo 0 | sudo tee /proc/sys/kernel/randomize_va_space
2. 長期解決方法,更新gcc g++ 到13
add-apt-repository ppa:ubuntu-toolchain-r/test
apt update
apt install gcc-13 g++-13#如果你安裝了多個版本的 gcc,需要更新系統默認 gcc 鏈接:
update-alternatives --install /usr/bin/gcc gcc /usr/bin/gcc-11 11
#update-alternatives --install /usr/bin/gcc gcc /usr/bin/gcc-12 12
update-alternatives --install /usr/bin/gcc gcc /usr/bin/gcc-13 13
update-alternatives --config gccupdate-alternatives --install /usr/bin/g++ g++ /usr/bin/g++-11 11
#update-alternatives --install /usr/bin/g++ g++ /usr/bin/g++-12 12
update-alternatives --install /usr/bin/g++ g++ /usr/bin/g++-13 13
update-alternatives --config g++