问题如下:
1. ../sysdeps/i386/elf/start.S: No such file or directory.
in ../sysdeps/i386/elf/start.S
是因为在编译时没有加-g 引起,加上后就正常了。
2.在gdb中调试时,变量踪跟
print accum
打印出的值是不正确的(129302998或者是-1749387483),就像我没给它初始化一样,
就算我用print accum=5后,再print accum,也没用的,还是不对,网上查来查去都找不到。
但是我编译出的程序是可以正常运行的,就是gdb 调试不正常,我怀疑是gdb的问题。
先前,我把GCC升级了(4.1.0),而gdb仍然是老版本5.3,所以我下了一个gdb6.6,安装后就正常了。
how to install gdb
tar zxvf gdb-6.6.tar.gz -C ~/myprogram
cd ~/myprogram/gdb-6.6
./configure;make
mv /usr/bin/gdb /usr/bin/gdb5.3
mv /usr/bin/gdbserver /usr/bin/gdbserver5.3
ln -s ~/myprogram/gdb-6.6/gdb/gdb /usr/bin/
ln -s ~/myprogram/gdb-6.6/gdb/gdbserver/gdbserver /usr/bin/
1. ../sysdeps/i386/elf/start.S: No such file or directory.
in ../sysdeps/i386/elf/start.S
是因为在编译时没有加-g 引起,加上后就正常了。
2.在gdb中调试时,变量踪跟
print accum
打印出的值是不正确的(129302998或者是-1749387483),就像我没给它初始化一样,
就算我用print accum=5后,再print accum,也没用的,还是不对,网上查来查去都找不到。
但是我编译出的程序是可以正常运行的,就是gdb 调试不正常,我怀疑是gdb的问题。
先前,我把GCC升级了(4.1.0),而gdb仍然是老版本5.3,所以我下了一个gdb6.6,安装后就正常了。
how to install gdb
tar zxvf gdb-6.6.tar.gz -C ~/myprogram
cd ~/myprogram/gdb-6.6
./configure;make
mv /usr/bin/gdb /usr/bin/gdb5.3
mv /usr/bin/gdbserver /usr/bin/gdbserver5.3
ln -s ~/myprogram/gdb-6.6/gdb/gdb /usr/bin/
ln -s ~/myprogram/gdb-6.6/gdb/gdbserver/gdbserver /usr/bin/