OS の作成に取り組んでおり、コードをデバッグしようとして問題が発生しています。GDB を使用して Bochs の GDB スタブに接続し、カーネルを「リモートで」デバッグしています。カーネル ファイルからのデバッグ シンボルのロードと同様に、接続は正常に機能します。kmain 関数のブレークポイントを設定すると、正常に配置され、デバッガーが (カーネル内で) 正しくブレークします。ただし、コードを「ステップ」または「次へ」することはできません。また、GDB はコードのどの行が現在の行であるかを明らかに判断することもできません。
「ステップ」しようとすると、「現在の関数の境界が見つかりません」というメッセージが表示されます。これは、いつでも表示される唯一のエラー メッセージです。
私のコードは、-g フラグを使用して GCC でコンパイルされています (GCC オプションを使用して他の種類のデバッグ情報を試しましたが、どれも機能しませんでした。) GDB のマニュアルを調べたり、答えを探したりしましたが、完全に困惑しています。どんな助けでも素晴らしいでしょう。
ありがとう!