3 ms·
I also am a lifelong Linux user and prefer it to Windows. But I have to hand it to Windows in this realm, despite how I might feel about other parts of it. Li
by gavinray 5y ago
I also am a lifelong Linux user and prefer it to Windows.
But I have to hand it to Windows in this realm, despite how I might feel about other parts of it.
Linux has strace, valgrind/kcachegrind, eBPF, etc
And those tools are incredibly powerful, but have a far steeper learning curve and (personal opinion) UX than similar Windows tools.
I've used Windbg Preview to debug code written in niche languages like D and it's been able to sync source code from .d files and let me set breakpoints.
That really blew me away. I know that debug info is standardized in PE/COFF and in Linux with DWARF, but still.
Neat (at least I think so) screenshot of Windbg Preview debugging a D .dll with source synced:
https://media.discordapp.net/attachments/625407836473524246/831606636204392448/unknown.png https://media.discordapp.net/attachments/625407836473524246/...
The JS scripting is pretty wild too.
Repo full of them here. Example for generating a mermaid diagram image of callgraph, given a function name:
https://github.com/hugsy/windbg_js_scripts/blob/main/scripts/CallGraph.js https://github.com/hugsy/windbg_js_scripts/blob/main/scripts...
(Material from a Defcon workshop by same author):
https://github.com/hugsy/defcon_27_windbg_workshop https://github.com/hugsy/defcon_27_windbg_workshop