Return a useful error message from ValidatePlan if the expression can't be made for some reason.


git-svn-id: https://llvm.org/svn/llvm-project/lldb/trunk@178201 91177308-0d34-0410-b5e6-96231b3b80d8
RunThreadPlan should make sure the plan passed in is valid before running it.

<rdar://problem/13485541>


git-svn-id: https://llvm.org/svn/llvm-project/lldb/trunk@178202 91177308-0d34-0410-b5e6-96231b3b80d8
The other half of the checkin to produce better error messages when the ThreadPlanCallFunction isn't valid.


git-svn-id: https://llvm.org/svn/llvm-project/lldb/trunk@178203 91177308-0d34-0410-b5e6-96231b3b80d8
Use the error from ValidatePlan.


git-svn-id: https://llvm.org/svn/llvm-project/lldb/trunk@178204 91177308-0d34-0410-b5e6-96231b3b80d8
Protect against the case where the current inlined depth is wrong, and leads us to think we can't even get the
frame at index 0.  We should ALWAYS be able to get that.

<rdar://problem/13497571>


git-svn-id: https://llvm.org/svn/llvm-project/lldb/trunk@178205 91177308-0d34-0410-b5e6-96231b3b80d8
<rdar://problem/13412986>

Holding the Python lock while we call the Python C API to post-process objects returned from the OS plugins
This should avoid issues where some Python objects get invalidated while we are in the middle of processing them and we end up with an invalid Python state and a crash

git-svn-id: https://llvm.org/svn/llvm-project/lldb/trunk@178206 91177308-0d34-0410-b5e6-96231b3b80d8