Home

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

Press ? to show keyboard shortcuts.
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
Subscribers
None
Projects
None
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

Changes (35)

HistoryBrowseChangePath
HistoryBrowseModifiedlldb/trunk/include/lldb/Core/Module.h
HistoryBrowseModifiedlldb/trunk/include/lldb/Expression/ClangExpressionParser.h
HistoryBrowseModifiedlldb/trunk/include/lldb/Expression/ClangFunction.h
HistoryBrowseModifiedlldb/trunk/include/lldb/Expression/ClangUserExpression.h
HistoryBrowseModifiedlldb/trunk/include/lldb/Expression/ClangUtilityFunction.h
HistoryBrowseModifiedlldb/trunk/include/lldb/Expression/IRExecutionUnit.h
HistoryBrowseModifiedlldb/trunk/include/lldb/Expression/IRForTarget.h
HistoryBrowseModifiedlldb/trunk/include/lldb/Expression/IRMemoryMap.h
HistoryBrowseModifiedlldb/trunk/include/lldb/Host/Host.h
HistoryBrowseModifiedlldb/trunk/include/lldb/Symbol/ObjectFile.h
HistoryBrowseModifiedlldb/trunk/include/lldb/Target/Target.h
HistoryBrowseModifiedlldb/trunk/include/lldb/lldb-forward.h
HistoryBrowseModifiedlldb/trunk/include/lldb/lldb-private-enumerations.h
HistoryBrowseModifiedlldb/trunk/lldb.xcodeproj/project.pbxproj
HistoryBrowseModifiedlldb/trunk/source/Breakpoint/BreakpointLocation.cpp
HistoryBrowseModifiedlldb/trunk/source/Commands/CommandObjectExpression.cpp
HistoryBrowseModifiedlldb/trunk/source/Core/Module.cpp
HistoryBrowseModifiedlldb/trunk/source/Expression/ClangExpressionParser.cpp
HistoryBrowseModifiedlldb/trunk/source/Expression/ClangFunction.cpp
HistoryBrowseModifiedlldb/trunk/source/Expression/ClangUserExpression.cpp
HistoryBrowseModifiedlldb/trunk/source/Expression/ClangUtilityFunction.cpp
HistoryBrowseModifiedlldb/trunk/source/Expression/IRExecutionUnit.cpp
HistoryBrowseModifiedlldb/trunk/source/Expression/IRForTarget.cpp
HistoryBrowseModifiedlldb/trunk/source/Expression/IRMemoryMap.cpp
HistoryBrowseModifiedlldb/trunk/source/Host/common/Host.cpp
HistoryBrowseAddedlldb/trunk/source/Plugins/ObjectFile/JIT/
HistoryBrowseAddedlldb/trunk/source/Plugins/ObjectFile/JIT/CMakeLists.txt
HistoryBrowseAddedlldb/trunk/source/Plugins/ObjectFile/JIT/Makefile
HistoryBrowseAddedlldb/trunk/source/Plugins/ObjectFile/JIT/ObjectFileJIT.cpp
HistoryBrowseAddedlldb/trunk/source/Plugins/ObjectFile/JIT/ObjectFileJIT.h
HistoryBrowseModifiedlldb/trunk/source/Plugins/Process/Utility/RegisterContextLLDB.cpp
HistoryBrowseModifiedlldb/trunk/source/Plugins/Process/gdb-remote/ProcessGDBRemote.cpp
HistoryBrowseModifiedlldb/trunk/source/Plugins/SymbolFile/DWARF/SymbolFileDWARFDebugMap.cpp
HistoryBrowseModifiedlldb/trunk/source/Symbol/ObjectFile.cpp
HistoryBrowseModifiedlldb/trunk/source/Target/Target.cpp

rL204682

lldb/trunk/include/lldb/Core/Module.h

Loading...

lldb/trunk/include/lldb/Expression/ClangExpressionParser.h

Loading...

lldb/trunk/include/lldb/Expression/ClangFunction.h

Loading...

lldb/trunk/include/lldb/Expression/ClangUserExpression.h

Loading...

lldb/trunk/include/lldb/Expression/ClangUtilityFunction.h

Loading...

lldb/trunk/include/lldb/Expression/IRExecutionUnit.h

Loading...

lldb/trunk/include/lldb/Expression/IRForTarget.h

Loading...

lldb/trunk/include/lldb/Expression/IRMemoryMap.h

Loading...

lldb/trunk/include/lldb/Host/Host.h

Loading...

lldb/trunk/include/lldb/Symbol/ObjectFile.h

Loading...

lldb/trunk/include/lldb/Target/Target.h

Loading...

lldb/trunk/include/lldb/lldb-forward.h

Loading...

lldb/trunk/include/lldb/lldb-private-enumerations.h

Loading...

lldb/trunk/lldb.xcodeproj/project.pbxproj

Loading...

lldb/trunk/source/Breakpoint/BreakpointLocation.cpp

Loading...

lldb/trunk/source/Commands/CommandObjectExpression.cpp

Loading...

lldb/trunk/source/Core/Module.cpp

Loading...

lldb/trunk/source/Expression/ClangExpressionParser.cpp

Loading...

lldb/trunk/source/Expression/ClangFunction.cpp

Loading...

lldb/trunk/source/Expression/ClangUserExpression.cpp

Loading...

lldb/trunk/source/Expression/ClangUtilityFunction.cpp

Loading...

lldb/trunk/source/Expression/IRExecutionUnit.cpp

Loading...

lldb/trunk/source/Expression/IRForTarget.cpp

Loading...

lldb/trunk/source/Expression/IRMemoryMap.cpp

Loading...

lldb/trunk/source/Host/common/Host.cpp

Loading...

lldb/trunk/source/Plugins/ObjectFile/JIT/

Loading...

lldb/trunk/source/Plugins/ObjectFile/JIT/CMakeLists.txt

Loading...

lldb/trunk/source/Plugins/ObjectFile/JIT/Makefile

Loading...

lldb/trunk/source/Plugins/ObjectFile/JIT/ObjectFileJIT.cpp

Loading...

lldb/trunk/source/Plugins/ObjectFile/JIT/ObjectFileJIT.h

Loading...

lldb/trunk/source/Plugins/Process/Utility/RegisterContextLLDB.cpp

Loading...

lldb/trunk/source/Plugins/Process/gdb-remote/ProcessGDBRemote.cpp

Loading...

lldb/trunk/source/Plugins/SymbolFile/DWARF/SymbolFileDWARFDebugMap.cpp

Loading...

lldb/trunk/source/Symbol/ObjectFile.cpp

Loading...

lldb/trunk/source/Target/Target.cpp

Loading...

Add Comment