pitrou opened a new pull request #12092:
URL: https://github.com/apache/arrow/pull/12092


   Add a GDB plugin (written in Python) that registers custom printers for 
common Arrow C++ types, and makes their values much more readable when printed 
on the GDB prompt.
   The plugin is tested using a test harness in PyArrow, for convenience.
   
   Here is for example `arrow::util::Variant<int, bool, std::string>`:
   * with the GDB plugin:
   ```gdb
   (gdb) p int_variant
   $2 = arrow::util::Variant of index 0 (actual type int), value 42
   ```
   * without the GDB plugin:
   ```gdb
   (gdb) p int_variant
   $1 = {
     <arrow::util::detail::VariantImpl<arrow::util::Variant<int, bool, 
std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > 
>, int, bool, std::__cxx11::basic_string<char, std::char_traits<char>, 
std::allocator<char> > >> = {
       <arrow::util::detail::VariantImpl<arrow::util::Variant<int, bool, 
std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > 
>, bool, std::__cxx11::basic_string<char, std::char_traits<char>, 
std::allocator<char> > >> = {
         <arrow::util::detail::VariantImpl<arrow::util::Variant<int, bool, 
std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > 
>, std::__cxx11::basic_string<char, std::char_traits<char>, 
std::allocator<char> > >> = {
           <arrow::util::detail::VariantImpl<arrow::util::Variant<int, bool, 
std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > 
> >> = {
             <arrow::util::detail::VariantStorage<int, bool, 
std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > 
>> = {
   [ snip more lines of inscrutable implementation details ]
   ```
   


-- 
This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.

To unsubscribe, e-mail: github-unsubscr...@arrow.apache.org

For queries about this service, please contact Infrastructure at:
us...@infra.apache.org


Reply via email to