MochiuWiki : SUSE, EC, PCB
案内
メインページ
最近の更新
おまかせ表示
MediaWiki についてのヘルプ
ツール
リンク元
関連ページの更新状況
特別ページ
ページ情報
We ask for
Donations
検索
個人用ツール
ログイン
Toggle dark mode
名前空間
ページ
議論
表示
閲覧
ソースを閲覧
履歴を表示
インストール - GDBのソースを表示
提供: MochiuWiki : SUSE, EC, PCB
←
インストール - GDB
あなたには「このページの編集」を行う権限がありません。理由は以下の通りです:
この操作は、次のグループのいずれかに属する利用者のみが実行できます:
管理者
、new-group。
このページのソースの閲覧やコピーができます。
== 概要 == GDBとは、UNIX系OSで標準的に利用されるデバッガの1つである。<br> <br> 実行形式のファイルを指定して起動すると、プログラムの実行を開始して、実行状態の監視や介入が可能となる。<br> 特定の時点における変数などの値の表示や代入、特定の位置を指定して実行を停止(ブレークポイント)、<br> 1命令ずつ停止させて実行(ステップ実行)等の機能を、対話的なコマンドラインインターフェースで利用することができる。<br> <br> また、GDBを直接介した実行だけでなく、OS上で既に実行されているプロセスを指定して制御する(アタッチする)こともできる。<br> 別のコンピュータ上で実行されているプログラムをデバッグする遠隔モードもあるため、組み込みソフトウェアの開発やLinuxカーネル開発などにも用いられる。<br> <br><br> == 依存関係のライブラリのインストール == ==== パッケージ管理システムの使用 ==== GDBの依存関係のライブラリをインストールする。<br> # RHEL sudo dnf install bison m4 flex gawk wget make texinfo gcc gcc-c++ python3-devel \ xz-devel xxhash-devel gmp-devel mpfr-devel mpc-devel isl-devel # SUSE sudo zypper install bison m4 flex gawk wget texinfo make gcc gcc-c++ python3-devel \ xz-devel xxhash-devel gmp-devel mpfr-devel mpc-devel isl-devel <br> ==== Texinfoを手動でインストールする場合 ==== <u>Texinfoをパッケージ管理システムを使用してインストールする場合は膨大な時間が掛かるため、手動でインストールしてもよい。</u><br> # まず、Texinfoの[https://ftp.gnu.org/gnu/texinfo/ 公式Webサイト]から、Texinfoをダウンロードする。 # 次に、Texinfoを解凍して、Texinfoディレクトリ直下にbuildディレクトリを作成する。 #: <pre>mkdir build</pre> # Texinfoをビルドおよびインストールするため、以下のコマンドを実行する。 #: <syntaxhighlight lang="text"> ../configure --prefix=/<Texinfoのインストールディレクトリ> make -j $(nproc) make TEXMF=/<Texinfoのインストールディレクトリ>/texmf install-tex make install </syntaxhighlight> # ~/.profileファイル等に、以下に示す環境変数を設定する。 #: <syntaxhighlight lang="sh"> export PATH="/<Texinfoのインストールディレクトリ>/bin:$PATH" export LD_LIBRARY_PATH="/<Texinfoのインストールディレクトリ>/lib64:$LD_LIBRARY_PATH" </syntaxhighlight> <br><br> == GDBのインストール == ==== 共通 ==== [https://ftp.gnu.org/gnu/gdb/ GDBの公式Webサイト]から、GDBのソースコードをダウンロードする。<br> または、以下のコマンドを実行してダウンロードする。<br> wget https://ftp.gnu.org/gnu/gdb/gdb-<バージョン名>.tar.xz <br> ダウンロードしたファイルを解凍して、解凍したディレクトリに移動する。<br> tar xf gdb-<バージョン名>.tar.xz cd gdb-<バージョン名> <br> ビルドディレクトリを作成する。<br> mkdir build && cd build <br> <u>※注意</u><br> <u>Qt Creatorにおいて、ユーザが個別にインストールしたGDBを使用する場合は、</u><br> <u>GDBをコンパイルする時に、以下に示すように、Pythonの実行ファイルとライブラリのパスを指定する必要がある。</u><br> [ -z "$PYTHON" ] && export PYTHON=<Python3の実行ファイルのフルパス>; \ export PYTHON_LIBDIR=$("$PYTHON" -c "import sysconfig; print(sysconfig.get_config_var('LIBDIR'))") 例. [ -z "$PYTHON" ] && export PYTHON=$HOME/Python/bin/python3.8; \ export PYTHON_LIBDIR=$("$PYTHON" -c "import sysconfig; print(sysconfig.get_config_var('LIBDIR'))") <br> ==== ネイティブ向け ==== GDBをビルドおよびインストールする。<br> ../configure --prefix="$HOME/InstallSoftware/GDB/GDB-<バージョン名>" \ --with-python="$PYTHON" LDFLAGS="-L$PYTHON_LIBDIR" \ --program-suffix=<サフィックス 例. _12_1> # 必要であれば、パッケージ管理システムのGDBと名前が重複しないようにすることも可能 make -j $(nproc) make install # 全てインストールする場合 # または make -C gdb install # 最小限のGDBのみインストールする場合 <br> ==== AArch64 クロスコンパイラ向け ==== GDBをビルドおよびインストールする。<br> export PATH="/<AArch64向けBinutisおよびAArch64向けGCCのインストールディレクトリ>/bin:$PATH" && \ ../configure --prefix=<AArch64クロスコンパイラ向けGCCのインストールディレクトリ> \ --build=x86_64-pc-linux-gnu --host=x86_64-pc-linux-gnu --target=aarch64-linux-gnu \ --with-python="$PYTHON" LDFLAGS="-L$PYTHON_LIBDIR -static-libstdc++" \ --disable-multilib --disable-nls \ --with-sysroot=<ターゲットのシステムルートディレクトリ> \ # 不要の可能性あり CFLAGS="-g0 -O3 -fstack-protector-strong" \ # 不要の可能性あり CXXFLAGS="-g0 -O3 -fstack-protector-strong" \ # 不要の可能性あり --program-suffix=<サフィックス 例. _12_1> # 複数のGDBと名前が重複しないようにすることも可能 make -j $(nproc) make install # 全てインストールする場合 # または make -C gdb install # 最小限のGDBのみインストールする場合 <br> ==== H8/300 クロスコンパイラ向け ==== GDBをビルドおよびインストールする。<br> export PATH="/<AArch64向けBinutisおよびAArch64向けGCCのインストールディレクトリ>/bin$PATH" && \ ../configure --prefix=<AArch64クロスコンパイラ向けGCCのインストールディレクトリ> \ --build=x86_64-pc-linux-gnu --host=x86_64-pc-linux-gnu --target=h8300-elf \ --with-python="$PYTHON" LDFLAGS="-L$PYTHON_LIBDIR -static-libstdc++" \ --disable-multilib --disable-nls \ CFLAGS="-g0 -O3 -fstack-protector-strong" \ # 不要の可能性あり CXXFLAGS="-g0 -O3 -fstack-protector-strong" \ # 不要の可能性あり --program-suffix=<サフィックス 例. _12_1> # 複数のGDBと名前が重複しないようにすることも可能 make -j $(nproc) make install # 全てインストールする場合 # または make -C gdb install # 最小限のGDBのみインストールする場合 <br> ==== パスの設定 ==== 必要に応じて、~/.profileファイル等に環境変数を設定する。<br> <syntaxhighlight lang="sh"> export PATH="/<GDBのインストールディレクトリ>/bin:$PATH" export LD_LIBRARY_PATH="/<GDBのインストールディレクトリ>/lib64:$LD_LIBRARY_PATH" </syntaxhighlight> <br><br> == 警告およびエラー == 以下に示すような警告が出力される場合がある。<br> warning: File "/path/to/.gdbinit" auto-loading has been declined by your `auto-load safe-path' set to "$debugdir:$datadir/auto-load". <br> この時、~/.gdbinitファイルを作成して、以下の設定を記述する。<br> vi ~/.gdbinit <br> # ~/.gdbinitファイル set auto-load safe-path . # ディレクトリごとに.gdbinitファイルを読み込む場合 # または set auto-load safe-path / # システム上のどこからでも.gdbinitファイルを読み込むする場合 <br><br> __FORCETOC__ [[カテゴリ:RHEL]][[カテゴリ:SUSE]]
インストール - GDB
に戻る。
案内
メインページ
最近の更新
おまかせ表示
MediaWiki についてのヘルプ
ツール
リンク元
関連ページの更新状況
特別ページ
ページ情報
We ask for
Donations
Collapse