From 5ce1d01887c3a49f158eb6466b191bcf68781aea Mon Sep 17 00:00:00 2001 From: Enrico Granata Date: Tue, 13 Nov 2012 02:57:43 +0000 Subject: Giving at least some error information when a Python exception happens during command script import llvm-svn: 167810 --- lldb/source/Interpreter/ScriptInterpreterPython.cpp | 12 +++++++++++- 1 file changed, 11 insertions(+), 1 deletion(-) (limited to 'lldb/source/Interpreter/ScriptInterpreterPython.cpp') diff --git a/lldb/source/Interpreter/ScriptInterpreterPython.cpp b/lldb/source/Interpreter/ScriptInterpreterPython.cpp index 11a64b6f6cd9..638720e93a5f 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 -- cgit v1.2.3