diff --git a/scripts/osx/debug.md b/scripts/osx/debug.md new file mode 100644 index 000000000000..ea75c2bfee54 --- /dev/null +++ b/scripts/osx/debug.md @@ -0,0 +1,38 @@ +# Debugging on OSX + +We assume that all of the code is in a particular path: + +``` +FR_PATH=$(HOME)/ +``` + +The program has to be signed: + +```` +cd $(FR_PATH) +codesign -s - -v -f --entitlements ./scripts/osx/debug.plist ./build/bin/local/radiusd +``` + + +Start it up in Xcode with a full path to the executable: +`$(FR_PATH)/build/bin/local/radiusd`. Usually done via `open +./build/bin/local` and then dragging the `radius` program to the file selector in Xcode. + +Set command-line arguments: + +``` +-fxx -l stdout -m -d $(FR_PATH)/raddb -D $(FR_PATH)/share +``` + +And environment variables. + +``` +DYLD_FALLBACK_LIBRARY_PATH=$(FR_PATH)/build/lib/.libs> +FR_LIBRARY_PATH=$(FR_PATH)/build/lib/local/.libs +``` + +Pass signals in `lldb` directly to the program: + +``` +(lldb) pro hand -p true -s false SIGHUP +``` diff --git a/scripts/osx/debug.plist b/scripts/osx/debug.plist new file mode 100644 index 000000000000..5458a4ba87ee --- /dev/null +++ b/scripts/osx/debug.plist @@ -0,0 +1 @@ +com.apple.security.get-task-allow