da-viper wrote:
this happens on ubuntu 25.10 and fedora 42
```
/home/da-viper/Dev/contribute/llvm-project/llvm/cmake-build-release/bin/lldb -O
"settings set show-statusline false" -o "b 19" a.out
(lldb) settings set show-statusline false
(lldb) target create "a.out"
Current executable set to
'/home/da-viper/Dev/contribute/llvm-project/llvm/cmake-build-debug-oft/lldb-test-build.noindex/functionalities/data-formatter/data-formatter-stl/generic/unordered_map-iterator/TestDataFormatterStdUnorderedMap.test_ptr_libcxx_dwarf/a.out'
(x86_64).
(lldb) b 19
Breakpoint 1: where =
a.out`check_pointer(std::__1::unordered_map<std::__1::basic_string<char,
std::__1::char_traits<char>, std::__1::allocator<char>>,
std::__1::basic_string<char, std::__1::char_traits<char>,
std::__1::allocator<char>>, std::__1::hash<std::__1::basic_string<char,
std::__1::char_traits<char>, std::__1::allocator<char>>>,
std::__1::equal_to<std::__1::basic_string<char, std::__1::char_traits<char>,
std::__1::allocator<char>>>,
std::__1::allocator<std::__1::pair<std::__1::basic_string<char,
std::__1::char_traits<char>, std::__1::allocator<char>> const,
std::__1::basic_string<char, std::__1::char_traits<char>,
std::__1::allocator<char>>>>> const*,
std::__1::unordered_map<std::__1::basic_string<char,
std::__1::char_traits<char>, std::__1::allocator<char>>,
std::__1::basic_string<char, std::__1::char_traits<char>,
std::__1::allocator<char>>, std::__1::hash<std::__1::basic_string<char,
std::__1::char_traits<char>, std::__1::allocator<char>>>,
std::__1::equal_to<std::__1::basic_string<char, std::__1::char_traits<char>,
std::__1::allocator<char>>>,
std::__1::allocator<std::__1::pair<std::__1::basic_string<char,
std::__1::char_traits<char>, std::__1::allocator<char>> const,
std::__1::basic_string<char, std::__1::char_traits<char>,
std::__1::allocator<char>>>>>*,
std::__1::unordered_map<std::__1::basic_string<char,
std::__1::char_traits<char>, std::__1::allocator<char>>,
std::__1::basic_string<char, std::__1::char_traits<char>,
std::__1::allocator<char>>, std::__1::hash<std::__1::basic_string<char,
std::__1::char_traits<char>, std::__1::allocator<char>>>,
std::__1::equal_to<std::__1::basic_string<char, std::__1::char_traits<char>,
std::__1::allocator<char>>>,
std::__1::allocator<std::__1::pair<std::__1::basic_string<char,
std::__1::char_traits<char>, std::__1::allocator<char>> const,
std::__1::basic_string<char, std::__1::char_traits<char>,
std::__1::allocator<char>>>>> const*,
std::__1::unordered_map<std::__1::basic_string<char,
std::__1::char_traits<char>, std::__1::allocator<char>>,
std::__1::basic_string<char, std::__1::char_traits<char>,
std::__1::allocator<char>>, std::__1::hash<std::__1::basic_string<char,
std::__1::char_traits<char>, std::__1::allocator<char>>>,
std::__1::equal_to<std::__1::basic_string<char, std::__1::char_traits<char>,
std::__1::allocator<char>>>,
std::__1::allocator<std::__1::pair<std::__1::basic_string<char,
std::__1::char_traits<char>, std::__1::allocator<char>> const,
std::__1::basic_string<char, std::__1::char_traits<char>,
std::__1::allocator<char>>>>> const**,
std::__1::unordered_map<std::__1::basic_string<char,
std::__1::char_traits<char>, std::__1::allocator<char>>,
std::__1::basic_string<char, std::__1::char_traits<char>,
std::__1::allocator<char>>, std::__1::hash<std::__1::basic_string<char,
std::__1::char_traits<char>, std::__1::allocator<char>>>,
std::__1::equal_to<std::__1::basic_string<char, std::__1::char_traits<char>,
std::__1::allocator<char>>>,
std::__1::allocator<std::__1::pair<std::__1::basic_string<char,
std::__1::char_traits<char>, std::__1::allocator<char>> const,
std::__1::basic_string<char, std::__1::char_traits<char>,
std::__1::allocator<char>>>>> const* const*,
std::__1::unordered_map<std::__1::basic_string<char,
std::__1::char_traits<char>, std::__1::allocator<char>>,
std::__1::basic_string<char, std::__1::char_traits<char>,
std::__1::allocator<char>>, std::__1::hash<std::__1::basic_string<char,
std::__1::char_traits<char>, std::__1::allocator<char>>>,
std::__1::equal_to<std::__1::basic_string<char, std::__1::char_traits<char>,
std::__1::allocator<char>>>,
std::__1::allocator<std::__1::pair<std::__1::basic_string<char,
std::__1::char_traits<char>, std::__1::allocator<char>> const,
std::__1::basic_string<char, std::__1::char_traits<char>,
std::__1::allocator<char>>>>>**) + 32 at main.cpp:19:3, address =
0x00000000000018a0
(lldb) r
Process 1304321 launched:
'/home/da-viper/Dev/contribute/llvm-project/llvm/cmake-build-debug-oft/lldb-test-build.noindex/functionalities/data-formatter/data-formatter-stl/generic/unordered_map-iterator/TestDataFormatterStdUnorderedMap.test_ptr_libcxx_dwarf/a.out'
(x86_64)
Process 1304321 stopped
* thread #1, name = 'a.out', stop reason = breakpoint 1.1
frame #0: 0x00005555555558a0 a.out`check_pointer(ptr1=size=1, ptr2=size=1,
ptr3=size=1, ptr4=0x00007fffffffdcc0, ptr5=0x00007fffffffdcc8,
ptr6=0x00007fffffffdcc8) at main.cpp:19:3
16 static void check_pointer(const StringMapT *ptr1, StringMapT *ptr2,
17 StringMapTPtr ptr3, StringMapTPtr *ptr4,
18 const StringMapT *const *ptr5, StringMapT
**ptr6) {
-> 19 std::printf("Stop here");
^
20 }
21
22 int main() {
(lldb) fr v -T (*ptr1)
(const StringMapT) (*ptr1) = size=1 {
(std::pair<const std::basic_string<char>, std::basic_string<char> >) [0] = {
(const std::basic_string<char>) first = "Hello"
(std::basic_string<char>) second = "World"
}
}
(lldb) fr v -T (*ptr1)[0]
(std::pair<const std::basic_string<char>, std::basic_string<char> >) [0] = {
(const std::basic_string<char>) first = "Hello"
(std::basic_string<char>) second = "World"
}
(lldb) script
>>> Python Interactive Interpreter. To exit, type 'quit()', 'exit()'.
>>> lldb.frame.FindVariable("ptr1").GetChildAtIndex(0)
(std::__hash_value_type<std::basic_string<char>, std::basic_string<char> >) [0]
= {
__cc_ = (first = "Hello", second = "World")
}
>>>
```
https://github.com/llvm/llvm-project/pull/156033
_______________________________________________
lldb-commits mailing list
[email protected]
https://lists.llvm.org/cgi-bin/mailman/listinfo/lldb-commits