目前看來,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
非常感謝您的回答,rulonder!前一段時間,我試圖從源頭上構建抓取,就像你所建議的那樣,但是對於一些模糊的(對我來說,至少)原因是失敗的。你看 - 我主要是一個Windows開發人員,並且我一直在使用Docker鏡像來從MS Visual Studio 2015內部構建和調試Linux應用程序。在Debian上它工作得很好,但是這個鏡像太胖了,所以我嘗試了高山和gdbserver得到這個問題。再次感謝! – user3346684