[llvm-dev] Has the work in this talk been pushed: "Better C++ debugging using Clang Modules in LLDB"?

Raphael Isemann via llvm-dev llvm-dev at lists.llvm.org
Tue Mar 3 12:38:18 PST 2020


The prototype is upstream and tested here [1], however as you can see in the tests it currently requires manually simplifying the expression result type ( e.g. std::vector<int>::size_type needs to be casted to size_t). Also you might easily run into some cases where LLDB can’t handle all these new C++ types in the debugger and crash. I’m currently hacking on some patches to get this enabled default soon-ish but there is no fixed ETA for this feature.

[1] https://github.com/llvm/llvm-project/tree/master/lldb/test/API/commands/expression/import-std-module

Regarding how you would use it you can just check the tests, but the general idea is to run  `settings set target.import-std-module true` and then just run expressions in a program that used the STL in some form. But as said, the user experience is still quite crashy until I get some other fixes upstream. I’ll write it in the release notes when I think this is ready to be beta-tested.

> On Mar 3, 2020, at 12:14 PM, Jonas Devlieghere <jdevlieghere at apple.com> wrote:
> 
> +Raphael who did the work for clang modules in the expression evaluator. 
> 
>> On Mar 3, 2020, at 11:47 AM, David Blaikie <dblaikie at gmail.com> wrote:
>> 
>> +some folks who probably worked on this/know more about it.
>> 
>> I'd imagine more detail would be required - like what platform you're on, whether you're building with modules, whether you enabled modular debug info (-gmodules, I think), etc.
>> 
>> On Mon, Mar 2, 2020 at 11:20 PM Jiading Gai via llvm-dev <llvm-dev at lists.llvm.org> wrote:
>> Hi,
>> 
>>     I tried using lldb built from master, but still seeing some STL container member functions not recognizable in a debugging session. I am wondering if the work has been pushed to master; also if it's pushed but not enabled by default yet, is there a flag I can use to turn on the expression evaluator using Clang modules. Thanks a lot for the great work.
>> 
>> Best Regards,
>> Jiading
>> _______________________________________________
>> LLVM Developers mailing list
>> llvm-dev at lists.llvm.org
>> https://lists.llvm.org/cgi-bin/mailman/listinfo/llvm-dev
> 



More information about the llvm-dev mailing list