【发布时间】:2025-12-28 09:50:16
【问题描述】:
我想用 gdb 调试我的应用程序。我使用 makefile 构建项目,在这里您可以看到项目构建的结果:
编译规则
%.o : %.cpp
g++ -o $@ -c $< $(COMPILE_FLAGS) $(build_flags) $(addprefix -I , $(INCLUDE_DIRS))
在哪里
build_flags := -O0 -g -DEBUG
COMPILE_FLAGS := -Wall -MD -pipe -Wno-deprecated
编译构建
mkdir -p src/.源/对象
g++ -o src/./main.o -c ../../src/./main.cpp -Wall -MD -pipe -Wno-deprecated -O0 -g -DEBUG -I ../. ./包括
g++ -o src/Object/Object.o -c ../../src/Object/Object.cpp -Wall -MD -pipe -Wno-deprecated -O0 -g -DEBUG -I ../. ./包括
g++ -o ../../bin/myApp_debuq src/./main.o src/Object/Object.o -s -pipe
make: 离开目录`{project_name}/obj/debug'
我被删除了不必要和多余的信息。 在那里你可以看到很多关于构建的信息,你还可以在源文件编译时看到标志 -g。 在那里我想调试,我看到了
(gdb) 文件 myApp_debuq
正在从 {project}/bin/myApp_debuq...读取符号...(未找到调试符号)...完成。
(gdb) 列表
没有加载符号表。使用“文件”命令。
我怎么知道,这条消息告诉我没有调试信息。
为什么?
【问题讨论】: