2016-05-12 56 views

回答

6

目前看来,gdbserver不是在alpine存储库中可用的软件包,并且gdb软件包不包含gdbserver。

但是,您可以从包含gdbserver的源代码安装gdb。

首先,您需要安装所需的软件包编译:

apk add --no-cache make 
apk add --no-cache linux-headers 
apk add --no-cache texinfo 
apk add --no-cache gcc 
apk add --no-cache g++ 

,那么你可以安装它,下载源代码和编译它:

wget http://ftp.gnu.org/gnu/gdb/gdb-7.11.tar.xz 
tar -xvf gdb-7.11.tar.xz 
cd gdb-7.11 
./configure --prefix=/usr 
make 
make -C gdb install 

之后,你应该能够从shell运行gdbserver。

我一直在使用这个程序泊坞窗,具有以下dockerfile其中还包括一个SSH服务器的安装:

FROM alpine 
RUN apk update 
# we need make and linux-headers to compile gdb 
RUN apk add --no-cache make 
RUN apk add --no-cache linux-headers 
RUN apk add --no-cache texinfo 
RUN apk add --no-cache gcc 
RUN apk add --no-cache g++ 
RUN apk add --no-cache gfortran 
# install gdb 
# RUN apk add --no-cache gdb 
RUN mkdir gdb-build ;\ 
    cd gdb-build;\ 
    wget http://ftp.gnu.org/gnu/gdb/gdb-7.11.tar.xz;\ 
    tar -xvf gdb-7.11.tar.xz;\ 
    cd gdb-7.11;\ 
    ./configure --prefix=/usr;\ 
    make;\ 
    make -C gdb install;\ 
    cd ..;\ 
    rm -rf gdb-build/; 
# install ssh server support and keys 
RUN apk add --no-cache openssh 
RUN ssh-keygen -A 
+0

非常感谢您的回答,rulonder!前一段时间,我试图从源头上构建抓取,就像你所建议的那样,但是对于一些模糊的(对我来说,至少)原因是失败的。你看 - 我主要是一个Windows开发人员,并且我一直在使用Docker镜像来从MS Visual Studio 2015内部构建和调试Linux应用程序。在Debian上它工作得很好,但是这个镜像太胖了,所以我尝试了高山和gdbserver得到这个问题。再次感谢! – user3346684

相关问题