[Lldb-commits] [PATCH] D113724: [LLDB][NativePDB] Fix missing symbol info when backtrace minidump

Pavel Labath via Phabricator via lldb-commits lldb-commits at lists.llvm.org
Mon Nov 15 00:29:46 PST 2021


labath added a comment.

In D113724#3128929 <https://reviews.llvm.org/D113724#3128929>, @zequanwu wrote:

>> The ast thing could be tested by running "image dump ast" on an appropriate piece of debug info.
>
> I didn't observe any difference before and after this patch with `image dump ast` tested on https://github.com/llvm/llvm-project/blob/main/lldb/test/Shell/SymbolFile/NativePDB/ast-methods.cpp.
> I found that code path could get executed by `FindFunctions` when using `image lookup -n ...` and `break ...` on class methods, but there is a bug blocking me from adding tests for it. If the name has namespace like this `A::foo`, it fails to find it because lldb passes "foo" to plugins' `FindFunctions` and `PdbIndex` can only find the symbol if full name is provided. So, I need to either fix that bug first or find other ways to trigger this issue.

Maybe you can try `lldb-test`? It's `find` functionality was meant to be a more-or-less direct interface to the Find*** methods (`lldb-test symbols --find=function --name=full::name --function-flags=???`)



================
Comment at: lldb/source/Plugins/SymbolFile/NativePDB/PdbAstBuilder.cpp:1039
   m_decl_to_status.insert({function_decl, status});
-
-  CreateFunctionParameters(func_id, *function_decl, func_type->getNumParams());
+  if (!parent->isRecord())
+    CreateFunctionParameters(func_id, *function_decl,
----------------
Could this be moved into the above `if` block?


Repository:
  rG LLVM Github Monorepo

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

https://reviews.llvm.org/D113724



More information about the lldb-commits mailing list