新版本gcc默认使用动态地址,这样当进行调试时,运行地址与exe的地址不一样,很难调试。
使用-no-pie即可以使用固定地址。
[lzzhang@lzzhang-pc ~]$ gcc -no-pie a.c
[lzzhang@lzzhang-pc ~]$ objdump -D a.out | grep testname0000000000400582 <testname>:
[lzzhang@lzzhang-pc ~]$ gcc a.c
[lzzhang@lzzhang-pc ~]$ objdump -D a.out | grep testname
0000000000000615 <testname>: