Hello all.

I'm working on a memory manager (and garbage collector) that relies on handling 
hardware protection faults.  That means that the programs using the GC will 
routinely get EXC_BAD_ACCESS faults and I want to handle them programmatically 
as SIGSEGV signals.

The problem is that LLDB always stops on EXC_BAD_ACCESS and there doesn't seem 
to be a way to continue on to the sending of a SIGSEGV and then into my 
exception handler.  Since I expect to have thousands of protection faults, this 
pretty much makes my system unworkable in LLDB.

In GDB there is a setting "set dont-handle-bad-access 1" for this.  I haven't 
been able to find an equivalent in LLDB.  Also, the bug report I filed with 
Apple about it is still open.

Apple seem to be withdrawing GDB in Xcode 5, so I've got a problem.  Up to now 
we just recommended using GDB.

I've taken a quick look over the LLDB source code, searched this lists 
archives, searched the LLVM Bugzilla, and asked around on #llvm, (and of course 
tried Google, Stackoverflow, and the Apple Dev Forums) but to no avail.

I'm willing to have a go at patching LLDB if someone would give me some 
pointers.  This is a serious problem for us.

Any pointers?


References:

  - "Developers can't debug MPS on OS X" 
<http://www.ravenbrook.com/project/mps/issue/job001669/>

  - "Passing EXC_BAD_ACCESS in lldb" 
<https://devforums.apple.com/thread/188993>.

  - "Debugging with the Memory Pool System" 
<https://www.ravenbrook.com/project/mps/master/manual/html/guide/debug.html>

  - Apple Bug Report 12176156 and 7838916.




_______________________________________________
lldb-dev mailing list
[email protected]
http://lists.cs.uiuc.edu/mailman/listinfo/lldb-dev

Reply via email to