File indexing completed on 2026-04-09 07:49:13
0001 dbg__ ()
0002 {
0003 case $(uname) in
0004 Darwin)
0005 lldb__ $*
0006 ;;
0007 Linux)
0008 gdb__ $*
0009 ;;
0010 esac
0011 }
0012
0013 lldb__ ()
0014 {
0015 : ~opticks/sysrap/tests/dbg__.sh
0016 : macOS only - this function requires LLDB envvar to provide the path;
0017 : to the lldb application within the appropriate Xcode.app resources eg;
0018 local BINARY=$1;
0019 shift;
0020 local ARGS=$*;
0021 local H="$HEAD";
0022 local B;
0023 local bp;
0024 echo HEAD $HEAD;
0025 echo TAIL $TAIL;
0026 if [ -z "$BP" ]; then
0027 B="";
0028 else
0029 B="";
0030 for bp in $BP;
0031 do
0032 B="$B -o \"b $bp\" ";
0033 done;
0034 B="$B -o b";
0035 [ -n "$BX" ] && B="$B -o \"$BX\" ";
0036 fi;
0037 local T="$TAIL";
0038 local def_lldb=/Applications/Xcode/Xcode.app/Contents/Developer/usr/bin/lldb;
0039 local runline="${LLDB:-$def_lldb} -f ${BINARY} $H $B $T -- ${ARGS}";
0040 echo $runline;
0041 eval $runline
0042 }
0043
0044
0045 gdb__ ()
0046 {
0047 : ~opticks/sysrap/tests/dbg__.sh
0048 : prepares and invokes gdb - sets up breakpoints based on BP envvar containing space delimited symbols;
0049 if [ -z "$BP" ]; then
0050 H="";
0051 B="";
0052 T="-ex r";
0053 else
0054 H="-ex \"set breakpoint pending on\"";
0055 B="";
0056 for bp in $BP;
0057 do
0058 B="$B -ex \"break $bp\" ";
0059 done;
0060 T="-ex \"info break\" -ex r";
0061 fi;
0062 local runline="gdb $H $B $T --args $* ";
0063 echo $runline;
0064 date;
0065 eval $runline;
0066 date
0067 }
0068
0069
0070
0071