[Lldb-commits] [PATCH] D44603: [lldb] Introduce StackFrameRecognizer

Kuba (Brecka) Mracek via Phabricator via lldb-commits lldb-commits at lists.llvm.org
Sat Mar 17 16:45:22 PDT 2018


kubamracek created this revision.
kubamracek added reviewers: jingham, jasonmolenda.
Herald added a subscriber: mgorny.

This is following on the discussion and goals of https://reviews.llvm.org/D43886. The patch introduces a concept of "frame recognizer" and "recognized frame". This should be an extensible mechanism that retrieves information about special frames based on ABI, arguments or other special properties of that frame, even without source code. A few examples where that could be useful could be 1) objc_exception_throw, where we'd like to get the current exception, 2) terminate_with_reason and extracting the current terminate string

This should address the comments from Jim from https://reviews.llvm.org/D43886: The results from the recognizer should be generic (we now return a ValueObjectList that represent recognized arguments), and the frame recognizers are extensible and we could create a Python interface for those and register Python-based recognizers via StackFrameRecognizerManager.


https://reviews.llvm.org/D44603

Files:
  include/lldb/Target/StackFrame.h
  include/lldb/Target/StackFrameRecognizer.h
  include/lldb/lldb-forward.h
  lldb.xcodeproj/project.pbxproj
  source/Plugins/LanguageRuntime/ObjC/AppleObjCRuntime/AppleObjCRuntimeV2.cpp
  source/Plugins/LanguageRuntime/ObjC/AppleObjCRuntime/AppleObjCStackFrameRecognizer.cpp
  source/Plugins/LanguageRuntime/ObjC/AppleObjCRuntime/AppleObjCStackFrameRecognizer.h
  source/Plugins/LanguageRuntime/ObjC/AppleObjCRuntime/CMakeLists.txt
  source/Target/CMakeLists.txt
  source/Target/StackFrame.cpp
  source/Target/StackFrameRecognizer.cpp

-------------- next part --------------
A non-text attachment was scrubbed...
Name: D44603.138835.patch
Type: text/x-patch
Size: 20958 bytes
Desc: not available
URL: <http://lists.llvm.org/pipermail/lldb-commits/attachments/20180317/cde18493/attachment-0001.bin>


More information about the lldb-commits mailing list