Index: lldb/source/Host/macosx/objcxx/Host.mm =================================================================== --- lldb/source/Host/macosx/objcxx/Host.mm +++ lldb/source/Host/macosx/objcxx/Host.mm @@ -219,11 +219,11 @@ FileSpec working_dir{launch_info.GetWorkingDirectory()}; if (working_dir) - command.Printf(" --working-dir '%s'", working_dir.GetCString()); + command.Printf(" --working-dir \\\"%s\\\"", working_dir.GetCString()); else { char cwd[PATH_MAX]; if (getcwd(cwd, PATH_MAX)) - command.Printf(" --working-dir '%s'", cwd); + command.Printf(" --working-dir \\\"%s\\\"", cwd); } if (launch_info.GetFlags().Test(eLaunchFlagDisableASLR)) @@ -239,7 +239,7 @@ for (const auto &KV : launch_info.GetEnvironment()) { auto host_entry = host_env.find(KV.first()); if (host_entry == host_env.end() || host_entry->second != KV.second) - command.Format(" --env='{0}'", Environment::compose(KV)); + command.Format(" --env=\\\"{0}\\\"", Environment::compose(KV)); } command.PutCString(" -- "); @@ -248,12 +248,12 @@ if (argv) { for (size_t i = 0; argv[i] != NULL; ++i) { if (i == 0) - command.Printf(" '%s'", exe_path); + command.Printf(" \\\"%s\\\"", exe_path); else - command.Printf(" '%s'", argv[i]); + command.Printf(" \\\"%s\\\"", argv[i]); } } else { - command.Printf(" '%s'", exe_path); + command.Printf(" \\\"%s\\\"", exe_path); } command.PutCString(" ; echo Process exited with status $?"); if (launch_info.GetFlags().Test(lldb::eLaunchFlagCloseTTYOnExit)) @@ -263,6 +263,9 @@ applescript_source.Printf(applscript_in_new_tty, command.GetString().str().c_str()); + + printf("%s\n", applescript_source.GetString().str().c_str()); + NSAppleScript *applescript = [[NSAppleScript alloc] initWithSource:[NSString stringWithCString:applescript_source.GetString() .str()