Nov*_*ser 7 c++ gcc g++ debug-symbols compiler-options
我有一个这个Makefile
application=<somebinaryname>
CXXFLAGS=-g -std=c++14 -Wall -Werror -pedantic
LDFLAGS=-g
auto: $(application)
$(application): main.o aaa.o aab.o aba.o baa.o
$(CXX) $(LDFLAGS) -o $@ $^
%.o: %.cpp
$(CXX) $(CXXFLAGS) -c $< -o $@
# rest of Makefile not relevant to my question
Run Code Online (Sandbox Code Playgroud)
有人可以告诉我-g选项是否应该在编译阶段(使用 CXXFLAGS)或链接阶段(使用 LDFLAGS)进行吗?我到处寻找示例和文档,但它们都有非常琐碎的示例,例如(甚至是联机帮助页):
gcc -g -o binary source.cpp
Run Code Online (Sandbox Code Playgroud)
我明白了,但这并没有告诉我太多。
对此还有更清楚的了解吗?
-g 产生调试信息。使用 -g 选项编译 C 程序。这允许编译器收集调试信息。然后你可以使用 gdb 来调试二进制文件。
一些有用的链接
http://www.thegeekstuff.com/2010/03/debug-c-program-using-gdb/
https://gcc.gnu.org/onlinedocs/gcc/Debugging-Options.html