BirAdam 2 hours ago

This triggered a small emotional reaction. I really miss the days when Apple made real effort toward servers with MacOS X Server and Xserve. Hopefully, since they're using their own hardware/software internally for servers, Apple may one day go back down that road.

comex 6 hours ago

Neat, though I'm guessing it's pretty slow.

Tip for anyone reading: If you only need to trace file accesses or command executions, `eslogger lookup` and `eslogger exec` respectively will give you what you need (albeit in the form of a not-particularly-friendly JSON blob).

gkfasdfasdf 2 hours ago

TIL Nix flakes work on macos - is this a legit alternative to homebrew?

  • arianvanp 2 hours ago

    Yes. It's great. Especially paired with nix-darwin which allows you to declaratively manage all your macos settings too

    • pasc1878 an hour ago

      Sort of.

      For things that run on Linux and other Unices yes.

      For macOS UI programs and those that need specific permissions and for commercial programs stick with Homebrew but you can define what you want in homebrew in nix.

sandbags 6 hours ago

Modulo I haven’t tried it yet it’s been an irritant that SIP broke tracing so this is a welcome development, thank you.

CGamesPlay 5 hours ago

Love it. I've never successfully used dtruss without hardlocking my system, so it's nice to see that this isn't a wrapper around that.

  • saagarjha 5 hours ago

    The bug for this was fixed in Tahoe

    • viraptor 3 hours ago

      For the whole dtrace system?

cyberpunk 5 hours ago

Silly question but doesn’t macos ship with dtrace? So why not use dtruss?

  • agsnu 4 hours ago

    Barely supported by Apple these days - in addition to needing to disable SIP which is a pain, it was broken causing system freezes for several major macOS releases.

  • owyn 5 hours ago

    dtruss requires disabling SIP. This seems like a better option for basic "what just happened?" debugging.

  • saagarjha 5 hours ago

    You need to disable SIP to use DTrace

    • Citizen8396 2 hours ago

      Not entirely. You can selectively remove protections:

      csrutil enable --without dtrace

  • pjmlp 4 hours ago

    Another silly question, did everyone forgot about instruments?

    • viraptor 3 hours ago

      Does instruments allow you to track file reads/writes and other syscalls/mach stuff? Their docs are quite bad at describing the capabilities, so I'm not really sure. From what I can see it's a profiler rather than a tracing tool.

    • youngtaff 3 hours ago

      Isn't Instruments built on dtrace?

burnt-resistor 4 hours ago

Doesn't appear to work, and lacks pypi and brew packaging.

    $ pipx install git+https://github.com/Mic92/strace-macos
      installed package strace-macos 0.1.0, installed using Python 3.13.7
      These apps are now globally available
        - strace
    done!   
    $ strace df -h
    Error: Failed to load LLDB Python module.
    Make sure you're running with system Python (/usr/bin/python3) and have Xcode Command Line Tools installed.
    
    To install Xcode Command Line Tools:
      xcode-select --install
    $ sudo strace df -h
    [same shit]
After fixing[0] the awkward python system requirement, it doesn't work with built-in binaries without SIP disabled, it's really slow, it colorizes output even when piping, and the colors are terrible. Better than nothing but it's currently less effort to temporarily disable SIP for dtruss and reenable it later than install this in this early form. Maybe with time it will improve, but it seems like a vehicle to aggressively advertise consulting services.

0:

   env PIPX_DEFAULT_PYTHON='/usr/bin/python3' pipx install git+https://github.com/Mic92/strace-macos