CPU exceptions occur in various erroneous situations, for example, when accessing an invalid memory address or when dividing by zero. To react to them, we have to set up an interrupt descriptor table that provides handler functions. At the end of this post, our kernel will be able to catch breakpoint exceptions and resume normal execution afterward. This blog is openly developed on GitHub. If you have any problems or questions, please open an issue there. You can also leave comments at the bo...