JITed functions can now have debug info and be debugged with debug and source…

Description

JITed functions can now have debug info and be debugged with debug and source info:

(lldb) b puts
(lldb) expr -g -i0 -- (int)puts("hello")

First we will stop at the entry point of the expression before it runs, then we can step over a few times and hit the breakpoint in "puts", then we can continue and finishing stepping and fininsh the expression.

Main features:

  • New ObjectFileJIT class that can be easily created for JIT functions
  • debug info can now be enabled when parsing expressions
  • source for any function that is run throught the JIT is now saved in LLDB process specific temp directory and cleaned up on exit
  • "expr -g --" allows you to single step through your expression function with source code

rdar://problem/16382881

Details

Committed
gclaytonMar 24 2014, 4:10 PM
Parents
rL204681: Add a "--threads N" option instead of having to use an environment variable. It…
Branches
Unknown
Tags
Unknown