4 ms·
In general, OS X infrastructure looks more like Linux than Windows. If the overall complaint is that it's not built into the OS, well, welcome to UNIX, island o
by setpatchaddress 10y ago
In general, OS X infrastructure looks more like Linux than Windows. If the overall complaint is that it's not built into the OS, well, welcome to UNIX, island of isolated, uncooperative, and sometimes broken toys.
I like UNIX, don't get me wrong, but some of the API design is truly appalling.
- simscitizen 10y agoLuckily Apple is sane enough to compile its core libraries with frame pointers, so unwinding is pretty trivial. See for yourself (this function is called by backtrace(3)): http://opensource.apple.com//source/Libc/Libc-825.40.1/gen/thread_stack_pcs.c http://opensource.apple.com//source/Libc/Libc-825.40.1/gen/t...
- mappu 10y agoOn the Windows side, Vista was the first client release to begin reincluding frame pointers, having omitted them since (at least) NT 3.51. https://blogs.msdn.microsoft.com/larryosterman/2007/03/12/fpo/ https://blogs.msdn.microsoft.com/larryosterman/2007/03/12/fp...
- wtbob 10y ago> If the overall complaint is that it's not built into the OS, well, welcome to UNIX, island of isolated, uncooperative, and sometimes broken toys. > I like UNIX, don't get me wrong, but some of the API design is truly appalling. I guess this is time for my annual post on Plan 9, which is basically Unix Done Right™. It really does feel like a coherent operating system, where all the parts fit together, feel well-thought-out and are well-finished. Every time I play with it (and really, at this point that's most of what it's good for) I want to cry at the lost potential. In that way, it's like SmallTalk or Lisp: something better, ignored by the world. Sadly, while it offered built-in stack unwinding, it looks like the functions involved were different depending on RISC vs. CISC, and they could unwind at most 40 levels deep at a time (!): http://plan9.bell-labs.com/magic/man2html/2/debugger http://plan9.bell-labs.com/magic/man2html/2/debugger