[Lldb-commits] [PATCH] D58678: Improve step over performance by not stopping at branches that are function calls and stepping into and them out of each one

Jim Ingham via Phabricator via lldb-commits lldb-commits at lists.llvm.org
Tue Feb 26 10:20:07 PST 2019

jingham added a comment.

In D58678#1410861 <https://reviews.llvm.org/D58678#1410861>, @zturner wrote:

> > Since we are stepping over we can safely ignore these calls since they will return to the next instruction
> What if the call throws an exception?

This patch won't change lldb's behavior when an exception is thrown.  Before the patch we would step in to the function, set a breakpoint on the return instruction and continue.  With this patch, we will continue over the call w/o the step in part.  In neither case would we catch a thrown exception.

To deal with thrown exceptions correctly you really need to be able to predict where the exception will be caught.  If a step over steps over an exception throw that is caught below the frame in which you are stepping, you don't want to do anything.  But if the exception is caught in an older frame than the stepping frame, you should probably stop.  But LLDB doesn't know how to analyze the throw mechanism at the throw site however, so we don't do anything smart here.




More information about the lldb-commits mailing list