Live data from Hacker News

Viewing profile — timmisiak

timmisiak

HN member
Joined
Sat, Oct 07, 2017, 6:58 PM UTC
HN karma
70
Public activity
37 items

About timmisiak

I used to work on WinDbg. I write blog posts occasionally at https://timdbg.com

Recent public activity

  1. comment
    Comment #40931588

    I suspect the biggest issue is that courses like to talk about how instructions are encoded, and that can be difficult with x86 considering how complex the encoding scheme is. Pers…

  2. comment
    Comment #40931528

    Glad you like it. I used m10c, with a few tweaks: https://github.com/vaga/hugo-theme-m10c

  3. comment
    Comment #40931513

    I think both are useful, but designing a modern CPU from the gate level is out of reach for most folks, and I think there's a big gap between the sorts of CPUs we designed in colle…

  4. comment
  5. comment
  6. comment
    Comment #37680063

    Honestly it's a great exercise for learning how low level stuff works in general. Happy to answer any questions you have!

  7. comment
    Comment #37675899

    Yes, software breakpoints are difficult to get correct (the main reason why I started with hardware breakpoints). It gets more complicated with kernel debugging, where a single ste…

  8. comment
    Comment #37675845

    Absolutely, rust sitter is fantastic. I haven't used any other parsers in Rust so I don't have much of a comparison point, but it's probably hard to get much more clear and concise…

  9. comment
    Comment #37675828

    I think my record when I was on the WinDbg team was 5 debuggers deep. I honestly think one of the best parts of writing a debugger is being your own recursive customer. I think tha…

  10. comment
    Comment #34921589

    I worked on the one that ships with WinDbg: https://learn.microsoft.com/en-us/windows-hardware/drivers/d... Literally every person who uses it for debugging a hard problem absolute…

  11. comment
    Comment #34645939

    Apologies. I'm just using a Hugo template and haven't spent a lot of time figuring out how to customize it. You're right though, the contrast isn't great.

  12. comment
    Comment #34645926

    Yes, that's exactly what I did. Most useful thing I did was setting up a unit test framework to test a single instruction, and then generating a huge number of variations of those …

  13. comment
    Comment #34645911

    I talked a bit about the Intel SDM in the last post I wrote (linked at the top). The SDM is great for getting the specific details, but isn't always approachable for high level ove…

  14. comment
    Comment #34645895

    TTD (the WinDbg one) works very well for complex multithreaded apps. (The caveat being the performance hit you get from emulation). It's one of the big advantages it has over rr. T…

  15. comment
    Comment #34645838

    Yes, saving and restoring flags is very expensive. I thought about talking about that in the article but figured that was too much of a detour. Darek Mihocka wrote a really interes…

  16. comment
    Comment #34645790

    My point is the smaller encoding is what gives you the performance benefit. When done across an entire function/module, you can get a measurable increase in hit rate for the instru…

  17. comment
    Comment #34645721

    Yes, that made it 100x easier, because I was able to write unit tests that literally did a single step over the instruction and compare the register context to the emulated registe…

  18. comment
    Comment #34645706

    That's really interesting. I had no idea there were structurally valid instructions that are longer than 15 bytes.

  19. comment
    Comment #34645643

    Funny enough, we tried going down the road of doing a JIT, but for our use cases pure emulation was often fast enough and it wasn't worth the extra complexity to do JIT. Part of th…

  20. comment
    Comment #34264990

    That's true. It's far too broad to learn everything without having a specific goal in mind. Learning the parts of asm that are useful for writing asm code is very different than le…

  21. comment
    Comment #34264974

    Covering how to practically use it is far too much for a single post (and I don't think I really claimed to teach assembly... I just want to give people the tools they need to star…

  22. comment
    Comment #34264631

    The target audience here were folks that have very little experience with asm, but you're completely right that a lot of complexity gets glossed over. That's not even to mention ca…

  23. comment
    Comment #34264593

    That's actually something I want to tackle in the next post I'm writing. I need good examples though of stuff like that, so I think I need to spend some time with godbolt...

  24. comment
    Comment #34264563

    I'm planning to write a future post on "common compiler generated code" to recognize those patterns. The intention of this post was to encourage folks who think asm is scary to giv…

  25. comment
    Comment #15436747

    Oh OK, that makes sense then. Yeah, that's been fixed in current internal builds and will go out on the store soon.