title: How to watch which instructions execute in a macOS or Windows binary?
body: <p>I'm trying to reverse engineer some functionality from a decently large binary ~31MB. I was wondering what the best way to "watch" instructions of an executable are. Specifically, I want to run the executable, turn on "watch", trigger a feature in the executable, and then be able to see which regions of the executable binary were run. Then with those addresses I'd like to look at the disassembled instructions.</p>
  
  <p>I'm aware that a lot of the instructions will probably be UI code as the GUI seems to be written in QT, but hopefully it will help me narrow down which part of the binary I need to focus on.</p>
  
  <p>I would prefer a tool that works under Windows, but macOS would work also, as I have a version of the binary for both of those systems.</p>
  
  <p>I'm aware of time-reversible debuggers, but I'm unsure if those would be possible to use with such a large binary.</p>