使用gcc -fsanitize=address编译空程序偶现无限循环问题
gcc版本
gcc (Ubuntu 11.4.0-1ubuntu1~22.04) 11.4.0
系统类型
Linux pop-os 6.6.6-76060606-generic #202312111032170230614322.04~d28ffec SMP PREEMPT_DYNAMIC Mon D x86_64 x86_64 x86_64 GNU/Linux
gcc编译选项
-Wall -Werror -pedantic -fsanitize=address
编译命令
gcc -Wall -Werror -pedantic -fsanitize=address main.c
链接的库
- linux-vdso.so.1
- libasan.so.6 => /lib/x86_64-linux-gnu/libasan.so.6
- libc.so.6 => /lib/x86_64-linux-gnu/libc.so.6
- libm.so.6 => /lib/x86_64-linux-gnu/libm.so.6
- libgcc_s.so.1 => /lib/x86_64-linux-gnu/libgcc_s.so.1
- /lib64/ld-linux-x86-64.so.2
main.c代码
int main(void) {}
编译生成的a.out运行时,会触发AddressSanitizer:DEADLYSIGNAL的无限循环,但该问题并非每次都会出现——比如连续运行5次均正常后,后续运行开始出现异常。
内容的提问来源于stack exchange,提问作者ethan hackney
相关产品推荐
相关产品推荐

