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.


Repository:
  rLLDB LLDB

CHANGES SINCE LAST ACTION
  https://reviews.llvm.org/D58678/new/

https://reviews.llvm.org/D58678



_______________________________________________
lldb-commits mailing list
lldb-commits@lists.llvm.org
https://lists.llvm.org/cgi-bin/mailman/listinfo/lldb-commits

Reply via email to