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
lldb-commits@lists.llvm.org
https://lists.llvm.org/cgi-bin/mailman/listinfo/lldb-commits

Reply via email to