diff options
Diffstat (limited to 'lldb/source/Interpreter/ScriptInterpreterPython.cpp')
-rw-r--r-- | lldb/source/Interpreter/ScriptInterpreterPython.cpp | 12 |
1 files changed, 11 insertions, 1 deletions
diff --git a/lldb/source/Interpreter/ScriptInterpreterPython.cpp b/lldb/source/Interpreter/ScriptInterpreterPython.cpp index 11a64b6f6cd..638720e93a5 100644 --- a/lldb/source/Interpreter/ScriptInterpreterPython.cpp +++ b/lldb/source/Interpreter/ScriptInterpreterPython.cpp @@ -2483,7 +2483,17 @@ ScriptInterpreterPython::LoadScriptingModule (const char* pathname, } else // any other error { - error.SetErrorString("Python raised an error while importing module"); + PyObject *type,*value,*traceback; + PyErr_Fetch (&type,&value,&traceback); + + if (value && value != Py_None) + error.SetErrorStringWithFormat("Python error raised while importing module: %s", PyString_AsString(PyObject_Str(value))); + else + error.SetErrorString("Python raised an error while importing module"); + + Py_XDECREF(type); + Py_XDECREF(value); + Py_XDECREF(traceback); } } else // we failed but have no error to explain why |