reference, declaration → definition definition → references, declarations, derived classes, virtual overrides reference to multiple definitions → definitions unreferenced |
137 extern VSCode g_vsc;
19 bp = g_vsc.target.BreakpointCreateForException(language, catch_value, 26 g_vsc.target.BreakpointDelete(bp.GetID());tools/lldb/tools/lldb-vscode/FunctionBreakpoint.cpp
20 bp = g_vsc.target.BreakpointCreateByName(functionName.c_str());
tools/lldb/tools/lldb-vscode/JSONUtils.cpp488 low_pc = function.GetStartAddress().GetLoadAddress(g_vsc.target); 489 auto addr_srcref = g_vsc.addr_to_source_ref.find(low_pc); 490 if (addr_srcref != g_vsc.addr_to_source_ref.end()) { 494 disasm_line = g_vsc.GetLineForPC(addr_srcref->second, pc); 496 insts = function.GetInstructions(g_vsc.target); 501 low_pc = symbol.GetStartAddress().GetLoadAddress(g_vsc.target); 502 auto addr_srcref = g_vsc.addr_to_source_ref.find(low_pc); 503 if (addr_srcref != g_vsc.addr_to_source_ref.end()) { 507 disasm_line = g_vsc.GetLineForPC(addr_srcref->second, pc); 509 insts = symbol.GetInstructions(g_vsc.target); 521 const auto inst_addr = inst.GetAddress().GetLoadAddress(g_vsc.target); 522 const char *m = inst.GetMnemonic(g_vsc.target); 523 const char *o = inst.GetOperands(g_vsc.target); 524 const char *c = inst.GetComment(g_vsc.target); 555 g_vsc.source_map[sourceReference] = std::move(source); 556 g_vsc.addr_to_source_ref[low_pc] = sourceReference; 738 ExceptionBreakpoint *exc_bp = g_vsc.GetExceptionBPFromStopReason(thread); 777 if (tid == g_vsc.focus_tid) { 780 body.try_emplace("preserveFocusHint", tid != g_vsc.focus_tid);tools/lldb/tools/lldb-vscode/LLDBUtils.cpp
19 lldb::SBCommandInterpreter interp = g_vsc.debugger.GetCommandInterpreter();
tools/lldb/tools/lldb-vscode/SourceBreakpoint.cpp 19 bp = g_vsc.target.BreakpointCreateByLocation(source_path.str().c_str(), line);
tools/lldb/tools/lldb-vscode/lldb-vscode.cpp80 if (g_vsc.log) 81 *g_vsc.log << "error: opening socket (" << strerror(errno) << ")" 90 if (g_vsc.log) 91 *g_vsc.log << "error: binding socket (" << strerror(errno) << ")" 100 if (g_vsc.log) 101 *g_vsc.log << "error: accept (" << strerror(errno) << ")" 131 g_vsc.SendJSON(llvm::json::Value(std::move(event))); 140 g_vsc.SendJSON(llvm::json::Value(std::move(event))); 146 if (!g_vsc.sent_terminated_event) { 147 g_vsc.sent_terminated_event = true; 150 g_vsc.SendJSON(llvm::json::Value(std::move(event))); 157 lldb::SBProcess process = g_vsc.target.GetProcess(); 162 old_thread_ids.swap(g_vsc.thread_ids); 177 if (tid == g_vsc.focus_tid && !has_reason) 178 g_vsc.focus_tid = LLDB_INVALID_THREAD_ID; 189 if (g_vsc.focus_tid == LLDB_INVALID_THREAD_ID) 190 g_vsc.focus_tid = first_tid_with_reason; 196 g_vsc.SendJSON(CreateThreadStopped(thread, stop_id)); 200 g_vsc.thread_ids.insert(thread.GetThreadID()); 202 g_vsc.SendJSON(CreateThreadStopped(thread, stop_id)); 208 auto end = g_vsc.thread_ids.end(); 209 auto pos = g_vsc.thread_ids.find(tid); 214 if (g_vsc.log) 215 *g_vsc.log << "error: SendThreadStoppedEvent() when process" 221 if (g_vsc.log) 222 *g_vsc.log << "error: SendThreadStoppedEvent() invalid process" 225 g_vsc.RunStopCommands(); 283 lldb::SBFileSpec exe_fspec = g_vsc.target.GetExecutable(); 289 const auto pid = g_vsc.target.GetProcess().GetProcessID(); 306 g_vsc.SendJSON(llvm::json::Value(std::move(event))); 315 g_vsc.SendOutput(OutputType::Stdout, llvm::StringRef(buffer, count)); 317 g_vsc.SendOutput(OutputType::Stderr, llvm::StringRef(buffer, count)); 327 lldb::SBListener listener = g_vsc.debugger.GetListener(); 368 g_vsc.RunExitCommands(); 401 g_vsc.SendJSON(llvm::json::Value(std::move(bp_event))); 405 } else if (event.BroadcasterMatchesRef(g_vsc.broadcaster)) { 434 g_vsc.SendOutput(OutputType::Console, llvm::StringRef(sourceMapHelp)); 443 g_vsc.SendOutput(OutputType::Console, llvm::StringRef(sourceMapHelp)); 453 g_vsc.RunLLDBCommands("Setting source map:", {sourceMapCommand}); 493 g_vsc.attach_info.SetProcessID(pid); 495 g_vsc.attach_info.SetWaitForLaunch(wait_for, false /*async*/); 496 g_vsc.init_commands = GetStrings(arguments, "initCommands"); 497 g_vsc.pre_run_commands = GetStrings(arguments, "preRunCommands"); 498 g_vsc.stop_commands = GetStrings(arguments, "stopCommands"); 499 g_vsc.exit_commands = GetStrings(arguments, "exitCommands"); 501 g_vsc.stop_at_entry = GetBoolean(arguments, "stopOnEntry", false); 513 g_vsc.RunInitCommands(); 521 g_vsc.launch_info.SetExecutableFile(program_fspec, 527 g_vsc.target.AddModule(program.data(), target_triple, uuid_cstr, symfile); 531 g_vsc.SendJSON(llvm::json::Value(std::move(response))); 537 g_vsc.launch_info.SetDetachOnError(detatchOnError); 540 g_vsc.RunPreRunCommands(); 547 g_vsc.SendOutput(OutputType::Console, llvm::StringRef(attach_info, 554 g_vsc.debugger.SetAsync(false); 555 g_vsc.target.Attach(g_vsc.attach_info, error); 555 g_vsc.target.Attach(g_vsc.attach_info, error); 557 g_vsc.debugger.SetAsync(true); 562 g_vsc.RunLLDBCommands("Running attachCommands:", attachCommands); 565 g_vsc.target = g_vsc.debugger.GetSelectedTarget(); 565 g_vsc.target = g_vsc.debugger.GetSelectedTarget(); 571 auto attached_pid = g_vsc.target.GetProcess().GetProcessID(); 584 g_vsc.SendJSON(llvm::json::Value(std::move(response))); 587 g_vsc.SendJSON(CreateEventObject("initialized")); 649 lldb::SBProcess process = g_vsc.target.GetProcess(); 653 g_vsc.focus_tid = GetUnsigned(arguments, "threadId", LLDB_INVALID_THREAD_ID); 658 g_vsc.SendJSON(llvm::json::Value(std::move(response))); 695 g_vsc.SendJSON(llvm::json::Value(std::move(response))); 696 if (g_vsc.stop_at_entry) 699 g_vsc.target.GetProcess().Continue(); 752 lldb::SBProcess process = g_vsc.target.GetProcess(); 769 g_vsc.debugger.SetAsync(false); 774 g_vsc.debugger.SetAsync(true); 777 g_vsc.SendJSON(llvm::json::Value(std::move(response))); 779 if (g_vsc.event_thread.joinable()) { 780 g_vsc.broadcaster.BroadcastEventByType(eBroadcastBitStopEventThread); 781 g_vsc.event_thread.join(); 790 lldb::SBThread thread = g_vsc.GetLLDBThread(*arguments); 796 ExceptionBreakpoint *exc_bp = g_vsc.GetExceptionBPFromStopReason(thread); 821 g_vsc.SendJSON(llvm::json::Value(std::move(response))); 930 lldb::SBFrame frame = g_vsc.GetLLDBFrame(*arguments); 962 auto variablesReference = VARIDX_TO_VARREF(g_vsc.variables.GetSize()); 963 g_vsc.variables.Append(value); 971 g_vsc.SendJSON(llvm::json::Value(std::move(response))); 1051 g_vsc.debugger = lldb::SBDebugger::Create(true /*source_init_files*/); 1062 g_vsc.debugger.SetOutputFileHandle(out, true); 1063 g_vsc.debugger.SetErrorFileHandle(out, false); 1066 g_vsc.target = g_vsc.debugger.CreateTarget(nullptr); 1066 g_vsc.target = g_vsc.debugger.CreateTarget(nullptr); 1067 lldb::SBListener listener = g_vsc.debugger.GetListener(); 1069 g_vsc.target.GetBroadcaster(), 1071 listener.StartListeningForEvents(g_vsc.broadcaster, 1075 g_vsc.event_thread = std::thread(EventThreadFunction); 1094 for (const auto &exc_bp : g_vsc.exception_breakpoints) { 1140 g_vsc.SendJSON(llvm::json::Value(std::move(response))); 1182 g_vsc.init_commands = GetStrings(arguments, "initCommands"); 1183 g_vsc.pre_run_commands = GetStrings(arguments, "preRunCommands"); 1184 g_vsc.stop_commands = GetStrings(arguments, "stopCommands"); 1185 g_vsc.exit_commands = GetStrings(arguments, "exitCommands"); 1187 g_vsc.stop_at_entry = GetBoolean(arguments, "stopOnEntry", false); 1201 g_vsc.RunInitCommands(); 1207 g_vsc.launch_info.SetWorkingDirectory(cwd.data()); 1214 g_vsc.launch_info.SetExecutableFile(program_fspec, 1220 lldb::SBModule module = g_vsc.target.AddModule( 1228 g_vsc.SendJSON(llvm::json::Value(std::move(response))); 1237 g_vsc.launch_info.SetArguments(MakeArgv(args).data(), true); 1242 g_vsc.launch_info.SetEnvironmentEntries(MakeArgv(envs).data(), true); 1244 auto flags = g_vsc.launch_info.GetLaunchFlags(); 1253 g_vsc.launch_info.SetDetachOnError(detatchOnError); 1254 g_vsc.launch_info.SetLaunchFlags(flags | lldb::eLaunchFlagDebug | 1258 g_vsc.RunPreRunCommands(); 1262 g_vsc.debugger.SetAsync(false); 1263 g_vsc.target.Launch(g_vsc.launch_info, error); 1263 g_vsc.target.Launch(g_vsc.launch_info, error); 1264 g_vsc.debugger.SetAsync(true); 1266 g_vsc.RunLLDBCommands("Running launchCommands:", launchCommands); 1269 g_vsc.target = g_vsc.debugger.GetSelectedTarget(); 1269 g_vsc.target = g_vsc.debugger.GetSelectedTarget(); 1276 g_vsc.SendJSON(llvm::json::Value(std::move(response))); 1279 g_vsc.SendJSON(llvm::json::Value(CreateEventObject("initialized"))); 1326 lldb::SBThread thread = g_vsc.GetLLDBThread(*arguments); 1330 g_vsc.focus_tid = thread.GetThreadID(); 1335 g_vsc.SendJSON(llvm::json::Value(std::move(response))); 1377 lldb::SBProcess process = g_vsc.target.GetProcess(); 1379 g_vsc.SendJSON(llvm::json::Value(std::move(response))); 1438 lldb::SBFrame frame = g_vsc.GetLLDBFrame(*arguments); 1439 g_vsc.variables.Clear(); 1440 g_vsc.variables.Append(frame.GetVariables(true, // arguments 1444 g_vsc.num_locals = g_vsc.variables.GetSize(); 1444 g_vsc.num_locals = g_vsc.variables.GetSize(); 1445 g_vsc.variables.Append(frame.GetVariables(false, // arguments 1449 g_vsc.num_globals = g_vsc.variables.GetSize() - (g_vsc.num_locals); 1449 g_vsc.num_globals = g_vsc.variables.GetSize() - (g_vsc.num_locals); 1449 g_vsc.num_globals = g_vsc.variables.GetSize() - (g_vsc.num_locals); 1450 g_vsc.variables.Append(frame.GetRegisters()); 1451 g_vsc.num_regs = 1452 g_vsc.variables.GetSize() - (g_vsc.num_locals + g_vsc.num_globals); 1452 g_vsc.variables.GetSize() - (g_vsc.num_locals + g_vsc.num_globals); 1452 g_vsc.variables.GetSize() - (g_vsc.num_locals + g_vsc.num_globals); 1453 body.try_emplace("scopes", g_vsc.CreateTopLevelScopes()); 1455 g_vsc.SendJSON(llvm::json::Value(std::move(response))); 1589 auto old_src_bp_pos = g_vsc.source_breakpoints.find(path); 1590 if (old_src_bp_pos != g_vsc.source_breakpoints.end()) { 1606 g_vsc.target.BreakpointDelete(pair.second.bp.GetID()); 1640 g_vsc.source_breakpoints[path] = std::move(request_bps); 1646 g_vsc.SendJSON(llvm::json::Value(std::move(response))); 1705 for (const auto &bp : g_vsc.exception_breakpoints) 1710 auto exc_bp = g_vsc.GetExceptionBreakpoint(filter); 1717 auto exc_bp = g_vsc.GetExceptionBreakpoint(filter); 1721 g_vsc.SendJSON(llvm::json::Value(std::move(response))); 1822 for (auto &pair: g_vsc.function_breakpoints) { 1826 g_vsc.target.BreakpointDelete(pair.second.bp.GetID()); 1841 g_vsc.function_breakpoints.erase(name); 1849 g_vsc.function_breakpoints[pair.first()] = std::move(pair.second); 1855 g_vsc.SendJSON(llvm::json::Value(std::move(response))); 1924 auto pos = g_vsc.source_map.find((lldb::addr_t)sourceReference); 1925 if (pos != g_vsc.source_map.end()) { 1931 g_vsc.SendJSON(llvm::json::Value(std::move(response))); 2009 lldb::SBThread thread = g_vsc.GetLLDBThread(*arguments); 2026 g_vsc.SendJSON(llvm::json::Value(std::move(response))); 2078 lldb::SBThread thread = g_vsc.GetLLDBThread(*arguments); 2082 g_vsc.focus_tid = thread.GetThreadID(); 2087 g_vsc.SendJSON(llvm::json::Value(std::move(response))); 2130 lldb::SBThread thread = g_vsc.GetLLDBThread(*arguments); 2134 g_vsc.focus_tid = thread.GetThreadID(); 2139 g_vsc.SendJSON(llvm::json::Value(std::move(response))); 2179 lldb::SBProcess process = g_vsc.target.GetProcess(); 2195 g_vsc.SendJSON(llvm::json::Value(std::move(response))); 2308 variable = g_vsc.variables.GetValueAtIndex(id_value); 2317 end_idx = start_idx + g_vsc.num_locals; 2320 start_idx = g_vsc.num_locals; 2321 end_idx = start_idx + g_vsc.num_globals; 2324 start_idx = g_vsc.num_locals + g_vsc.num_globals; 2324 start_idx = g_vsc.num_locals + g_vsc.num_globals; 2325 end_idx = start_idx + g_vsc.num_regs; 2337 auto curr_variable = g_vsc.variables.GetValueAtIndex(i); 2350 lldb::SBValue container = g_vsc.variables.GetValueAtIndex(var_idx); 2366 newVariablesReference = VARIDX_TO_VARREF(g_vsc.variables.GetSize()); 2367 g_vsc.variables.Append(variable); 2386 g_vsc.SendJSON(llvm::json::Value(std::move(response))); 2484 num_children = g_vsc.num_locals; 2487 start_idx = start + g_vsc.num_locals + start; 2488 num_children = g_vsc.num_globals; 2491 start_idx = start + g_vsc.num_locals + g_vsc.num_globals; 2491 start_idx = start + g_vsc.num_locals + g_vsc.num_globals; 2492 num_children = g_vsc.num_regs; 2499 lldb::SBValue variable = g_vsc.variables.GetValueAtIndex(i); 2509 lldb::SBValue variable = g_vsc.variables.GetValueAtIndex(var_idx); 2518 const int64_t var_idx = g_vsc.variables.GetSize(); 2522 g_vsc.variables.Append(child); 2532 g_vsc.SendJSON(llvm::json::Value(std::move(response))); 2543 for (uint32_t i = 0; g_vsc.target.GetBreakpointAtIndex(i).IsValid(); ++i) { 2544 auto bp = g_vsc.target.GetBreakpointAtIndex(i); 2550 g_vsc.SendJSON(llvm::json::Value(std::move(response))); 2607 g_vsc.input.descriptor = StreamDescriptor::from_socket(socket_fd, true); 2608 g_vsc.output.descriptor = 2615 g_vsc.input.descriptor = StreamDescriptor::from_file(fileno(stdin), false); 2616 g_vsc.output.descriptor = 2622 std::string json = g_vsc.ReadJSON(); 2630 if (g_vsc.log) { 2636 *g_vsc.log << "error: failed to parse JSON: " << error_str << std::endl 2644 if (g_vsc.log) 2645 *g_vsc.log << "error: json packet isn't a object" << std::endl; 2656 if (g_vsc.log) 2657 *g_vsc.log << "error: unhandled command \"" << command.data() << std::endl;