GDB を使用する Sever デバッガーのプロンプトは Warning: ブレークポイント X を挿入できません。アドレス 0xXXXXXX のメモリにアクセスでき ません。
2022-02-25 11:55:19
質問内容
GDBを使用してブレークポイントを追加した後、ブレークポイントが正常に追加されたことを示すプロンプトが表示され、Continueコマンドで次のエラーメッセージが表示されます。
Warning:
Cannot insert breakpoint 3.
Cannot access memory at address 0x722ae8
Command aborted.
百度の原則に則り、まずググってみたところ、以下のような類似事例が出てきました。
- メインプログラムと同じプロセスでブレークポイントを追加していないため、ブレークポイントを挿入する際に失敗する
- 挿入されたブレークポイントはアドレス型ブレークポイントであり、プログラムにこのアドレスが含まれているとは限らないため、ブレークポイントを挿入することはできません。
- デバッグを開始する前に、GDBのstartiコマンドを実行したことを確認します。
ソリューションプロセス
問題を特定しやすくするために、問題に至った手順を記述することから始める
- GDBのデバッグ方法はGDB Sever debuggingで、以前は問題なく動作していた
- 同僚がデバッグ時に上記の問題に遭遇し、私の環境を使って彼のボードをデバッグしたいと言ってきたので、私の環境でデバッグする
- リモート接続後、私の環境では上記のエラーが発生する
課題分析
- 最初のケースは、明らかに複数のプロセスで発生する問題であり、直接的には除外されます。
- 挿入されたブレークポイントが関数型であり、問題のトラブルシューティングのためにインターフェースが挿入されているので、2番目の問題も除外されます。 GDB Server 環境で run コマンドと start コマンドを入力すると、リモート接続がコマンドをサポートしていないことを直接プロンプトで表示します。
上記の問題はどれも正しくないので、上記の状況を具体的に分析し、問題解決のアイデアを共有する必要があります
- ブレークポイントの問題をトラブルシューティングするために、再度すべてのブレークポイントを削除する
- GDBプログラムのトラブルシューティングを行うためにGDBを再実行する
- ローカルの実行ファイルがリモートの実行ファイルと同じかどうかを確認する
今回の問題は3つ目のケースに該当しますが、このドキュメントが困っている人の助けになれば幸いです もしかしたら、問題の原因は比較的単純で低レベルかもしれませんが、この解決策が読者を悩ませる問題を解決するきっかけになればと思います
関連
-
[Linux] [コンパイル] libmpc.so.3: cannot open shared object file: そのようなファイルまたはディレクトリはありません
-
Ubuntu next install nginx,make: *** `default'が必要とする `build' をターゲットとするルールがありません。停止します。
-
テキストファイルがビジー状態になる問題を解決
-
'float' オブジェクトは整数として解釈できません。
-
centos - centos7でcrontabを使用してmysqlのスケジュールバックアップを行う。
-
Linuxでシステムの基本情報、バージョン情報(最も完全なバージョン)を見ることができます。
-
ArchLinux での i3wm の簡単な設定と美化
-
touch under linux: cannot touch 'catalina.out': パーミッションが拒否された 解決方法
-
強力なコマンドであるcurlの紹介と一般的な使用方法
-
linux はディレクトリのパーミッションの問題に遭遇しました mkdir()。パーミッションが拒否された 解決方法
最新
-
nginxです。[emerg] 0.0.0.0:80 への bind() に失敗しました (98: アドレスは既に使用中です)
-
htmlページでギリシャ文字を使うには
-
ピュアhtml+cssでの要素読み込み効果
-
純粋なhtml + cssで五輪を実現するサンプルコード
-
ナビゲーションバー・ドロップダウンメニューのHTML+CSSサンプルコード
-
タイピング効果を実現するピュアhtml+css
-
htmlの選択ボックスのプレースホルダー作成に関する質問
-
html css3 伸縮しない 画像表示効果
-
トップナビゲーションバーメニュー作成用HTML+CSS
-
html+css 実装 サイバーパンク風ボタン
おすすめ
-
undefinedlinuxでは127.0.0.1、 : では0.0.0.0です。
-
ConnectionRefusedErrorです。[Errno 111] 接続が拒否されました。
-
MySQL5.7 のパスワード変更で ERROR 1054 (42S22) が発生しました。fie'内の不明なカラム'password'が見つかりません。
-
Nvidia グラフィックスカード 初期化に失敗しました NVML Driver/library version mismatch エラー解決法
-
mach-mini2440.c:155: error: array type has incomplete element type
-
CentOS 7 エラー: curl#60 - "ピアの証明書は有効期限が切れています。"
-
Ubuntu 18.04をインストールしたらどうする! 充実の詳細チュートリアル!
-
Java Runtime Environmentを継続するためのメモリが不足しています。
-
これは、Linuxを学ぶ方法、階下の王DaLuはすでに始まっている、あなたはまだ来ていないのですか?
-
-bash: . /configure: パーミッション拒否エラーの解決策