我在macOS Catalina版本10.15.2上下载了GDB9.1。我正在尝试从一个用C编写的名为test的代码中调试一个可执行文件,该代码是在我的Makefile中创建的,并链接到一个静态库。我已经尝试将-g和-ggdb放在所有编译行和链接行中。我确保在每次进行更改时都使用make clean
,然后运行make test
重新运行Makefile。我的Makefile如下所示:
all: main
mkdir -p build/bin
mkdir -p build/lib
mkdir -p build/objects
mv *.o build/objects
mv *.a build/lib
mv main build/bin
main: main.o liblinkedlist.a
gcc main.o -g -o main -llinkedlist -L.
test: test.o liblinkedlist.a
gcc test.o -g -o test -llinkedlist -L.
mkdir -p build/bin
mkdir -p build/lib
mkdir -p build/objects
mv *.o build/objects
mv *.a build/lib
test.o: src/bin/test.c
gcc src/bin/test.c -g -c -I include
main.o: src/bin/main.c
gcc -g src/bin/main.c -c -I include
liblinkedlist.a: src/lib.c
gcc src/lib.c -g -c -I include
ar rs liblinkedlist.a lib.o
clean:
rm -rf build
rm -f test
rm -f main
当我尝试执行gdb ./test
时,它会在终端中显示以下几行代码:
正在从./test中读取符号...
警告:无法打开OSO存档文件"/Users/eamonohare/Desktop/Spring_2020_Classes/CSE_109/homework-3/./liblinkedlist.a“
警告:`/Users/eamonohare/Desktop/Spring_2020_Classes/CSE_109/homework-3/test.o':无法打开读取符号:没有这样的文件或目录。(在./test中找不到调试符号)
(gdb)
我已经尝试了这个解决方案给每个有这个问题的其他用户,但是他们都不起作用。我不确定我该如何解决这个问题。
发布于 2020-03-27 08:59:00
将源代码、目标文件和可执行文件放在运行gdb
的同一目录中
还有其他方法,在进入run
之前,需要在gdb
中使用一些简单的命令;但是,这些方法一遍又一遍地重做很麻烦。
https://stackoverflow.com/questions/60876238
复制相似问题