================ @@ -831,6 +831,37 @@ bool lldb_private::python::SWIGBridge::LLDBSwigPythonCallCommandObject( return true; } +bool lldb_private::python::SWIGBridge::LLDBSwigPythonCallParsedCommandObject( + PyObject *implementor, lldb::DebuggerSP debugger, lldb_private::StructuredDataImpl &args_impl, + lldb_private::CommandReturnObject &cmd_retobj, + lldb::ExecutionContextRefSP exe_ctx_ref_sp) { + + PyErr_Cleaner py_err_cleaner(true); + + PythonObject self(PyRefType::Borrowed, implementor); + auto pfunc = self.ResolveName<PythonCallable>("__call__"); + + if (!pfunc.IsAllocated()) + return false; + + auto cmd_retobj_arg = SWIGBridge::ToSWIGWrapper(cmd_retobj); + + // FIXME: + // I wanted to do something like: + // size_t num_elem = args.size(); + // PythonList my_list(num_elem); + // for (const char *elem : args) + // my_list.append(PythonString(elem); + // + // and then pass my_list to the pfunc, but that crashes somewhere + // deep in Python for reasons that aren't clear to me. ---------------- medismailben wrote:
My guess is that the backtrace only contains for python internal non symbolicated frames that are basically useless for debugging. I've experienced that myself multiple times. https://github.com/llvm/llvm-project/pull/70734 _______________________________________________ lldb-commits mailing list lldb-commits@lists.llvm.org https://lists.llvm.org/cgi-bin/mailman/listinfo/lldb-commits