Windwos 環境にて c 言語のソースコードを GCC でコンパイルして GDB でデバッグをしようとした際に、.gdbinit の自動読込が拒否されて意図したようにデバッグができない問題に遭遇した。
コンソールに表示されたメッセージの通りに対処しても問題を解決できなかったが、最終的に、それと同時に環境変数を追加することで解決できた。
状況
ソースコードがある作業フォルダ内に .gdbinit ファイルを置いて GDB を起動した時に、.gdbinit の自動読込が拒否されてしまった。
コンソールには次のようなメッセージが表示されていた。(**** は実際のファイルパス)
1.
2.
3.
4.
5.
6.
7.
warning: File "****.\gdbinit" auto-loading has been declined by your `auto-load safe-path' set to "$debugdir:$datadir/auto-load".
To enable execution of this file add
add-auto-load-safe-path ****\.gdbinit
line to your configuration file "$HOME/.gdbinit".
To completely disable this security protection add
set auto-load safe-path /
line to your configuration file "$HOME\.gdbinit".
対処
1. HOME に .gdbinit ファイルを配置
HOME が指し示すフォルダ内に .gdbinit ファイルを作り、メッセージにある通りの行を記述する。
HOME は C:\Users\username のことらしく、ここに .gdbinit ファイルを作る。username の部分の文字列は環境ごとに異なるので注意。
作った .gdbinit ファイルに記述する内容は
add-auto-load-safe-path ****\.gdbinit
あるいは
set auto-load safe-path /
ネットで調べて出てきた情報は大体がこれで OK のようだったが、自分の環境ではこれだけではダメだった。そのような場合は 2. の対処も実施する。
2. HOME を環境変数に追加
HOME という環境変数を追加する。
Windows マークのボタン(いわゆるスタートボタン)の横にある検索窓に「環境変数」と入力して「システム環境変数の編集」を選択、システムのプロパティ画面が開くので「環境変数」ボタンを押す。(環境変数の設定画面を開く方法は複数ある。ここに書いた手順はあくまで一例)
ユーザー環境変数の「新規」ボタンを押して新たな環境変数を作成する。username の部分の文字列は環境ごとに異なるので注意。
- 変数名
- HOME
- 変数値
- C:\Users\username
必要に応じて PC を再起動。
0 件のコメント:
コメントを投稿