エントリーの編集
エントリーの編集は全ユーザーに共通の機能です。
必ずガイドラインを一読の上ご利用ください。
Rustで自作OSをしているときのデバッグ例 - syscall 命令と仲良くなりたい!後編 - /var/log/hikalium
記事へのコメント0件
- 注目コメント
- 新着コメント
このエントリーにコメントしてみましょう。
注目コメント算出アルゴリズムの一部にLINEヤフー株式会社の「建設的コメント順位付けモデルAPI」を使用しています
- バナー広告なし
- ミュート機能あり
- ダークモード搭載
関連記事
Rustで自作OSをしているときのデバッグ例 - syscall 命令と仲良くなりたい!後編 - /var/log/hikalium
この記事は自作OS Advent Calendar 2022の18日目の記事です。前回のあらすじはこちら: hikalium.hatena... この記事は自作OS Advent Calendar 2022の18日目の記事です。前回のあらすじはこちら: hikalium.hatenablog.jp 例外を吐いてるのはどこのどいつだぁ? さて、前回の状況をおさらいすると、 0x200fd0の命令がアドレス0x2000000000にアクセスしようとしてページフォルト(0xe)を発生させた。 ページフォルトを処理している最中に一般保護例外(0xd)が発生し、一般保護例外を処理中にもさらに一般保護例外が発生することで、順次スタックが食い潰されていった。 例外ハンドラのスタックが枯渇し、0x3de4bed8にアクセスしようとした段階でページフォルトが発生した。これにより、ダブルフォルトが発生した。 ダブルフォルトハンドラ内で再度ページフォルトが発生した結果、トリプルフォルトとなってリセットがかかった。 というわけで、まずは最初のきっかけである