if($gdbthis) {
my $gdbinit = "$TESTDIR/gdbinit$testnum";
open(my $gdbcmd, ">", "$LOGDIR/gdbcmd") || die "Failure writing gdb file";
- print $gdbcmd "set args $cmdargs\n";
- print $gdbcmd "show args\n";
- print $gdbcmd "source $gdbinit\n" if -e $gdbinit;
+ if($gdbthis == 1) {
+ # gdb mode
+ print $gdbcmd "set args $cmdargs\n";
+ print $gdbcmd "show args\n";
+ print $gdbcmd "source $gdbinit\n" if -e $gdbinit;
+ }
+ else {
+ # lldb mode
+ print $gdbcmd "set args $cmdargs\n";
+ }
close($gdbcmd) || die "Failure writing gdb file";
}
$testnum,
"$gdb --directory $LIBDIR " . shell_quote($DBGCURL) . " -x $LOGDIR/gdbcmd");
}
- elsif($gdbthis) {
+ elsif($gdbthis == 1) {
+ # gdb
my $GDBW = ($gdbxwin) ? "-w" : "";
runclient("$gdb --directory $LIBDIR " . shell_quote($DBGCURL) . " $GDBW -x $LOGDIR/gdbcmd");
$cmdres=0; # makes it always continue after a debugged run
}
+ elsif($gdbthis == 2) {
+ # $gdb is "lldb"
+ print "runs lldb -- $CURL $cmdargs\n";
+ runclient("lldb -- $CURL $cmdargs");
+ $cmdres=0; # makes it always continue after a debugged run
+ }
else {
# Convert the raw result code into a more useful one
($cmdres, $dumped_core) = normalize_cmdres(runclient("$CMDLINE"));
curl built --disable-shared. This then fires up gdb with command line set to
run the specified test case. Simply (set a break-point and) type 'run' to
start.
+.IP "-gl"
+Run the given test(s) with lldb. This is best used on a single test case and
+curl built --disable-shared. This then fires up lldb with command line set to
+run the specified test case. Simply (set a break-point and) type 'run' to
+start.
.IP "-gw"
Run the given test(s) with gdb as a windowed application.
.IP "-h, --help"
# run this test with gdb
$gdbthis=1;
}
+ elsif ($ARGV[0] eq "-gl") {
+ # run this test with lldb
+ $gdbthis=2;
+ }
elsif ($ARGV[0] eq "-gw") {
# run this test with windowed gdb
$gdbthis=1;