Go to the documentation of this file.
31 using namespace lldb_renderscript;
39 interpreter,
"renderscript scriptgroup breakpoint set",
40 "Place a breakpoint on all kernels forming a script group.",
41 "renderscript scriptgroup breakpoint set <group_name>",
42 eCommandRequiresProcess | eCommandProcessMustBeLaunched) {
44 m_arguments.push_back({name_arg});
52 m_exe_ctx.GetProcessPtr()->GetLanguageRuntime(
55 auto &target = m_exe_ctx.GetTargetSP();
56 bool stop_on_all =
false;
57 const llvm::StringRef long_stop_all(
"--stop-on-all"), short_stop_all(
"-a");
58 std::vector<ConstString> sites;
62 if (long_stop_all == arg || short_stop_all == arg)
67 for (
const auto &name : sites) {
81 interpreter,
"renderscript scriptgroup breakpoint",
82 "Renderscript scriptgroup breakpoint interaction.",
83 "renderscript scriptgroup breakpoint set [--stop-on-all/-a]"
84 "<scriptgroup name> ...",
85 eCommandRequiresProcess | eCommandProcessMustBeLaunched) {
99 "List all currently discovered script groups.",
100 "renderscript scriptgroup list",
101 eCommandRequiresProcess |
102 eCommandProcessMustBeLaunched) {}
109 m_exe_ctx.GetProcessPtr()->GetLanguageRuntime(
114 stream.
Printf(
"%" PRIu64
" script %s", uint64_t(groups.size()),
115 (groups.size() == 1) ?
"group" :
"groups");
123 stream.
Printf(
"%s", g->m_name.AsCString());
127 for (
const auto &k : g->m_kernels) {
129 stream.
Printf(
". %s", k.m_name.AsCString());
145 "Command set for interacting with scriptgroups.",
146 nullptr, eCommandRequiresProcess |
147 eCommandProcessMustBeLaunched) {
153 "list", CommandObjectSP(
void IndentLess(unsigned amount=2)
Decrement the current indentation level.
Used to build individual command argument lists.
lldb::CommandObjectSP NewCommandObjectRenderScriptScriptGroup(lldb_private::CommandInterpreter &interpreter)
size_t Indent(llvm::StringRef s="")
Indent the current line in the stream.
void SetStatus(lldb::ReturnStatus status)
const lldb_renderscript::RSScriptGroupList & GetScriptGroups() const
Stream & GetOutputStream()
CommandObjectRenderScriptScriptGroupBreakpointSet(CommandInterpreter &interpreter)
bool PlaceBreakpointOnScriptGroup(lldb::TargetSP target, Stream &strm, ConstString name, bool stop_on_all)
CommandObjectRenderScriptScriptGroup(CommandInterpreter &interpreter)
std::vector< RSScriptGroupDescriptorSP > RSScriptGroupList
const char * GetArgumentAtIndex(size_t idx) const
Gets the NULL terminated C string argument pointer for the argument at index idx.
bool DoExecute(Args &command, CommandReturnObject &result) override
@ eLanguageTypeExtRenderScript
RenderScript.
void IndentMore(unsigned amount=2)
Increment the current indentation level.
@ eReturnStatusSuccessFinishResult
CommandObjectRenderScriptScriptGroupList(CommandInterpreter &interpreter)
size_t EOL()
Output and End of Line character to the stream.
CommandObjectRenderScriptScriptGroupBreakpoint(CommandInterpreter &interpreter)
size_t Printf(const char *format,...) __attribute__((format(printf
Output printf formatted output to the stream.
A class that represents a running process on the host machine.
bool DoExecute(Args &command, CommandReturnObject &result) override
std::shared_ptr< RSScriptGroupDescriptor > RSScriptGroupDescriptorSP
size_t GetArgumentCount() const
Gets the number of arguments left in this command object.