# Writing a Debugger From Scratch - DbgRs Part 5 - Breakpoints

DevFeed: [Writing a Debugger From Scratch - DbgRs Part 5 - Breakpoints](<https://devfeed.tech/articles/writing-a-debugger-from-scratch-dbgrs-part-5-breakpoints-39737.md>)

Original publisher: [Read original article](<https://www.timdbg.com/posts/writing-a-debugger-from-scratch-part-5/>)

Author: Tim Misiak

Published: 2023-09-27T05:28:40Z

Content type: tutorial

Language: en

Sources: [TimDbg](<https://devfeed.tech/sources/timdbg.md>)

Topics: [debugging](<https://devfeed.tech/topics/debugging.md>), [debug](<https://devfeed.tech/topics/debug.md>), [Code](<https://devfeed.tech/topics/code.md>), [Windows](<https://devfeed.tech/topics/windows.md>)

Tags: [breakpoint](<https://devfeed.tech/tags/breakpoint.md>), [code](<https://devfeed.tech/tags/code.md>), [debug](<https://devfeed.tech/tags/debug.md>), [debugger](<https://devfeed.tech/tags/debugger.md>), [github](<https://devfeed.tech/tags/github.md>)

## AI overview

This tutorial continues the DbgRs debugger series by adding hardware breakpoint support. It also describes cleanup of the Windows debug-event handling, symbol name evaluation, and breakpoint state management.

## Source excerpt

(New to this series? Consider starting from part 1) At the end of the last post, we started to get some interesting functionality with the ability to resolve addresses to names in a module. This was the last functionality missing before we could implement breakpoints! This part adds the ability for DbgRs to set hardware breakpoints. The code for this post is in the part5 branch on github. You can also view the changes from part4.