当前位置: 技术问答>linux和unix
configure文件如何配置加上debug的功能?
来源: 互联网 发布时间:2016-07-06
本文导语: 我正在编译一个软件,make的时候,gcc都没有加-g选项,所以gdb无法很好的调试! 以下是这个configure文件的内容,我需要如何编写能够像一般的然间那样 ./configure --debug后便可在make过程中,所有的gcc命令都加上-g选项? ...
我正在编译一个软件,make的时候,gcc都没有加-g选项,所以gdb无法很好的调试!
以下是这个configure文件的内容,我需要如何编写能够像一般的然间那样
./configure --debug后便可在make过程中,所有的gcc命令都加上-g选项?
以下是这个configure文件的内容,我需要如何编写能够像一般的然间那样
./configure --debug后便可在make过程中,所有的gcc命令都加上-g选项?
#!/bin/bash
# configure adns
(cd adns; ./configure)
#configure larbin itself
cat /dev/null > config.h
cat /dev/null > config.make
if [ -e /proc/self/status ]; then
echo "#define HAS_PROC_SELF_STATUS" >> config.h
fi
# find existing programs
function exists () {
command -v $1 2> /dev/null > /dev/null;
}
if exists gmake; then
echo "MAKE=gmake" >> config.make
export MAKE=gmake
else
echo "MAKE=make" >> config.make
export MAKE=make
fi
if exists gcc; then
echo "CC=gcc" >> config.make
export CC=gcc
fi
if exists g++; then
echo "CXX=g++" >> config.make
fi
#find libraries to use
echo "int main () { return 0; }" > test.c
function testlib () {
if $CC $1 -o test test.c 2> /dev/null > /dev/null; then
echo "LIBS +=" $1 >> config.make
fi
}
testlib -pthread
testlib -lpthread
testlib -lresolv
testlib -lsocket
testlib -lnsl
rm -f test test.c test.o
# run make dep
touch .depend
touch adns/.depend
touch src/.depend
touch src/fetch/.depend
touch src/interf/.depend
touch src/utils/.depend
$MAKE dep
|
一般执行 ./configure --help
看看有没有debug选项以及如何开启这个选项
如果没找到, 可以直接在Makefile文件的 CC=gcc -g
看看有没有debug选项以及如何开启这个选项
如果没找到, 可以直接在Makefile文件的 CC=gcc -g
|
直接在Makefile文件的 CC=gcc -g 这样不行吗
|
一般情况都是这样
./configure --enable-debug
./configure --enable-debug
|
可以修改Makefile文件,在其中加上这一句就可以了:CFLAGS = -Wall –g
|
这样是必须要在MAkefile文件里加入那个选项的
|
一般这样就可以很好的调试自己的代码,这个时候你还可以测试一下自己的程序的内存是不是有泄漏,用valgrind这个工具: