Xcode project file (debug friendly) generator with predefined LLDB Init File to bypass SIGBUS error

This commit is contained in:
Edward Li 2021-12-03 04:08:03 +08:00 committed by flyinghead
parent bc1a5fdd8d
commit 3db4993077
3 changed files with 29 additions and 0 deletions

View File

@ -0,0 +1 @@
br set -r "UIApplication _run" -C "process handle -s false SIGBUS" -G true

View File

@ -0,0 +1 @@
br set -r "NSApplication run" -C "process handle -s false SIGBUS" -G true

View File

@ -0,0 +1,27 @@
script_dir=$(dirname "$0")
cd $script_dir/../../
echo "1) macOS ($(uname -m))"
echo "2) iOS"
read -p "Choose your target platform: " x
if [ $x -eq 2 ]; then
option="-DCMAKE_SYSTEM_NAME=iOS"
lldbinitfolder="emulator-ios"
echo 'Building iOS xcodeproj for debugging'
echo 'Remove CODE_SIGNING_ALLOWED=NO in Build Settings if you are using your Apple Developer Certificate for signing'
else
option="-DCMAKE_OSX_ARCHITECTURES=$(uname -m)"
lldbinitfolder="emulator-osx"
echo 'Building macOS xcodeproj for debugging'
fi
if [[ -z "${VULKAN_SDK}" ]]; then
echo 'Warning: VULKAN_SDK is not set in environment variable'
fi
cmake -B build -DCMAKE_BUILD_TYPE=Release -DCMAKE_RUNTIME_OUTPUT_DIRECTORY_RELEASE=artifact -DCMAKE_LIBRARY_OUTPUT_DIRECTORY=artifact $option -DCMAKE_XCODE_GENERATE_SCHEME=YES -G "Xcode"
nl=$'\n'
sed -i '' -E "s/launchStyle/customLLDBInitFile = \"\$(SRCROOT)\/shell\/apple\/\\${lldbinitfolder}\/LLDBInitFile\"\\${nl}launchStyle/g" build/flycast.xcodeproj/xcshareddata/xcschemes/flycast.xcscheme
open build/flycast.xcodeproj