You can also dump() the AST to a file on disk if that is easier to capture than stderr. See the overload of `dump()` that takes a stream: https://clang.llvm.org/doxygen/ASTDumper_8cpp_source.html#l00225
- Raphael Am Do., 7. März 2019 um 19:20 Uhr schrieb Ben Ruthig <brut...@google.com>: > > Hey Raphael, > > Yes, you did advise me to drop a D->dumpColor() call in to > getASTRecordLayout(). For frustrating reasons I still haven't been able to > capture those logs but when I do I will report back. > > Thanks so much for your help and quick response! > > Ben > > On Thu, Mar 7, 2019 at 12:56 PM Raphael Isemann <teempe...@gmail.com> wrote: >> >> Hi Ben, >> >> I think I already answered this last week: >> http://lists.llvm.org/pipermail/lldb-dev/2019-February/014789.html >> >> I don't think you'll get an answer here without posting the >> problematic source or giving any more information as I described in my >> mail. >> >> Cheers, >> - Raphael >> >> Am Do., 7. März 2019 um 18:13 Uhr schrieb Ben Ruthig via lldb-dev >> <lldb-dev@lists.llvm.org>: >> > >> > Hello all, >> > >> > I am currently investigating an issue where LLDB is crashing due to a >> > stack overflow when attempting to evaluate an expression. I have seen the >> > same issue in 6.0.1 and have reproduced it in 7.0.1. Any help to diagnose >> > and fix would be greatly appreciated as I am trying to meet a release >> > deadline early next week! >> > >> > The facts: >> > - The expression being evaluated is not a valid expression in the C++ >> > domain. For example the expression is a datatype like 'Foobar'. (For >> > reasons unexplained I am constrained to supporting this use case.) >> > - The crash occurs when using the C++ LLDB API but not when trying to >> > evaluate the expression via the LLDB shell or the LLDB Python script >> > shell. However, when doing 'expr Foobar' there is no output and the >> > operation is completely silent. It is similar when trying to do >> > 'lldb.frame.EvaluateExpression("Foobar")' in the Python shell as well. I >> > would expect to get some error output or an SbValue in an error state but >> > no such luck. >> > - I was able to capture a stack trace (attached) and it seems to be a >> > recursive loop bottoming out. For brevity two 'loops' of stacktrace are >> > included here: >> > >> > 3387. liblldb.dll!clang::ASTContext::getASTRecordLayout(const >> > clang::RecordDecl * D) Line 2965 C++ >> > 3388. liblldb.dll!`anonymous >> > namespace'::EmptySubobjectMap::ComputeEmptySubobjectSizes() Line 216 C++ >> > 3389. liblldb.dll!`anonymous >> > namespace'::EmptySubobjectMap::EmptySubobjectMap(const clang::ASTContext & >> > Context, const clang::CXXRecordDecl * Class) Line 172 C++ >> > 3390. liblldb.dll!clang::ASTContext::getASTRecordLayout(const >> > clang::RecordDecl * D) Line 2965 C++ >> > 3391. liblldb.dll!`anonymous >> > namespace'::EmptySubobjectMap::ComputeEmptySubobjectSizes() Line 216 C++ >> > 3392. liblldb.dll!`anonymous >> > namespace'::EmptySubobjectMap::EmptySubobjectMap(const clang::ASTContext & >> > Context, const clang::CXXRecordDecl * Class) Line 172 C++ >> > 3393. liblldb.dll!clang::ASTContext::getASTRecordLayout(const >> > clang::RecordDecl * D) Line 2965 C++ >> > >> > Help please :S >> > >> > Thanks, >> > Ben >> > >> > >> > _______________________________________________ >> > lldb-dev mailing list >> > lldb-dev@lists.llvm.org >> > https://lists.llvm.org/cgi-bin/mailman/listinfo/lldb-dev > > > > -- > "Sometimes I've believed as many as six impossible things before breakfast" - > Alice in Wonderland _______________________________________________ lldb-dev mailing list lldb-dev@lists.llvm.org https://lists.llvm.org/cgi-bin/mailman/listinfo/lldb-dev