gdb 的使用 problem &solution
problem1: no debugging symbols found
-g
gcc -c -g *.c
gcc -o exe *.o
//要编译时加上 “-g”,对*.o文件 g++ -g 生成一个可执行文件,可执行文件不能够使用gdb。。只有使用.cpp 通过gcc 生成才能呢个调试。
“ 引用。。
我曾经遇到过这种问题。。。我是用.o文件gcc -g 生成一个可执行文件。但是可执行文件是不能够使用gdb的。。
只有使用.c通过gcc生成才能够进行调试的。。。。
gcc -g *.c -o * 这个是不能生成可gdb的文件的。。。
顶~~~~~~~~~~~~~
你在用gcc -c 时加 -g 选项
在gcc *.o -o * 时不用加 -g 选项
就好了 “
但是后来我这样改了,还是出现以上错误,最后发现我的makefile文件就算改过了,但是源程序文件没有变化,make命令就没有变化,我先删除main(可执行文件),重新make就不出这个错了。
http://www.cppblog.com/heidaizx/archive/2009/11/13/33582.html
比如 文件 a.cpp
要先 g++ -g a.cpp -o a.o
再 gdb a.o
进入gdb 环境。。。
break 175
run
next (相当于windows vc调试时的F10) 简写 n
step(相当于windows vc的F11)
单步调试时如果按下 c(continue),相当于F5.运行到下一断点。
调试过程中 print ** 可以查看变量名。