Like what? I am not trying to be snarky here. I honestly would like your feedback. From my perspective Linux is way better than Microsoft in this regard, but maybe I am just looking at/using the wrong MS tools?
Like what? I am not trying to be snarky here. I honestly would like your feedback. From my perspective Linux is way better than Microsoft in this regard, but maybe I am just looking at/using the wrong MS tools?
Not public: the best instrumented profiler I’ve ever used. Smaller things like Assert tags so you can uniquely ID them. A massive distributed test system (love hate with that one). Profiling and optimization tools to answer pretty much any question about how your product behaves.
I always thought MSVC’s dialect of C++ was a little more programmer friendly. E.g. you can construct an object inline and pass it by reference. The compiler doesn’t do ridiculous things once it finds out you sign overflowed - it’s designed to support applications not meet synthetic benchmarks. PDBs make a lot more sense to me than packing debug info directly in the binary.
For this use case on Linux, there's rr: https://github.com/mozilla/rr/
- Most of the tools by Sysinternals, eg. ProcessExplorer, ProcessMonitor
- Tools by Nirsoft, eg. TCPView, GDIView, HeapMemView etc.
- Microsoft's own tools eg. WinDbg, System Profiler, all the snap-ins for MMC
- Tools for looking at system components related to COM/OLE
That's just guessing, but I find I respect Windows more and more the more I learn about it.
I recommend reading the Windows Internals books because it shows the amount of work that has gone into things that are overlooked often eg. NTFS (which is miles better than Apple's new APFS, which seems to get a lot of praise for unknown reasons).
You can find out a lot of what is happening under the hood with Sysinternal's tools, including IPC which would be far harder to trace under Linux I believe.