Skip to content

Instantly share code, notes, and snippets.

@wjwwood
Created January 27, 2012 22:16
Show Gist options
  • Select an option

  • Save wjwwood/1691226 to your computer and use it in GitHub Desktop.

Select an option

Save wjwwood/1691226 to your computer and use it in GitHub Desktop.
#1 0x000000010000313c in run () at mdc2250_example.cc:39
39 my_mdc2250.setTelemetry("C,V,C,A", period, telemetry_callback);
(gdb) inspect my_mdc2250
$4 = {
_vptr$MDC2250 = 0x1000b6050,
cmd_time = 1000,
handle_exc = {
<boost::function1<void,const std::exception&>> = {
<boost::function_base> = {
vtable = 0x10004d961,
functor = {
obj_ptr = 0x10009d370,
type = {
type = 0x10009d370,
const_qualified = true,
volatile_qualified = false
},
func_ptr = 0x10009d370 <mdc2250_::defaultExceptionCallback(std::exception const&)>,
bound_memfunc_ptr = {
memfunc_ptr = {
__pfn = 0x10009d370 <mdc2250_::defaultExceptionCallback(std::exception const&)>,
__delta = 1
},
obj_ptr = 0x7fff5fbfeef8
},
obj_ref = {
obj_ptr = 0x10009d370,
is_const_qualified = true,
is_volatile_qualified = false
},
data = 112 'p'
}
},
<std::unary_function<const std::exception&,void>> = {<No data fields>}, <No data fields>}, <No data fields>},
info = {
<boost::function1<void,const std::basic_string<char, std::char_traits<char>, std::allocator<char> >&>> = {
<boost::function_base> = {
vtable = 0x10000c981,
functor = {
obj_ptr = 0x10009ac20,
type = {
type = 0x10009ac20,
const_qualified = true,
volatile_qualified = false
},
func_ptr = 0x10009ac20 <mdc2250_::defaultInfoCallback(std::string const&)>,
bound_memfunc_ptr = {
memfunc_ptr = {
__pfn = 0x10009ac20 <mdc2250_::defaultInfoCallback(std::string const&)>,
__delta = 1
},
obj_ptr = 0x7fff5fbfeef8
},
obj_ref = {
obj_ptr = 0x10009ac20,
is_const_qualified = true,
is_volatile_qualified = false
},
data = 32 ' '
}
},
<std::unary_function<const std::basic_string<char, std::char_traits<char>, std::allocator<char> >&,void>> = {<No data fields>}, <No data fields>}, <No data fields>},
port_ = {
_M_dataplus = {
<std::allocator<char>> = {
<__gnu_cxx::new_allocator<char>> = {<No data fields>}, <No data fields>},
members of std::basic_string<char,std::char_traits<char>,std::allocator<char> >::_Alloc_hider:
_M_p = 0x100200ca8 "/dev/tty.USA49Wfd122P1.1"
}
},
device_string_ = {
_M_dataplus = {
<std::allocator<char>> = {
<__gnu_cxx::new_allocator<char>> = {<No data fields>}, <No data fields>},
members of std::basic_string<char,std::char_traits<char>,std::allocator<char> >::_Alloc_hider:
_M_p = 0x100201728 "Roboteq v1.2 RCB400 09/05/2011"
}
},
control_unit_ = {
_M_dataplus = {
<std::allocator<char>> = {
<__gnu_cxx::new_allocator<char>> = {<No data fields>}, <No data fields>},
members of std::basic_string<char,std::char_traits<char>,std::allocator<char> >::_Alloc_hider:
_M_p = 0x100201a58 "RCB400"
}
},
controller_model_ = {
_M_dataplus = {
<std::allocator<char>> = {
<__gnu_cxx::new_allocator<char>> = {<No data fields>}, <No data fields>},
members of std::basic_string<char,std::char_traits<char>,std::allocator<char> >::_Alloc_hider:
_M_p = 0x100201b48 "MDC2250"
}
},
serial_port_ = {
_vptr$Serial = 0x10004e770,
buffer_size_ = 256,
read_cache_ = 0x100200b90 "",
pimpl_ = 0x100200b50,
mut = {
m = {
__sig = 1297437784,
__opaque = "\000\000\000\000` \000\000\000\000\000\000\000\000\000\000\003?\002\000\000?\002\000?\031\000\000\000\000\000\000??_?\000\000??_?\000\000\000\000\000\000\000\000\000"
}
}
},
listener_ = {
_vptr$SerialListener = 0x10004e7f0,
tokenize = {
<boost::function2<void,const std::basic_string<char, std::char_traits<char>, std::allocator<char> >&,std::vector<boost::shared_ptr<const std::basic_string<char, std::char_traits<char>, std::allocator<char> > >, std::allocator<boost::shared_ptr<const std::basic_string<char, std::char_traits<char>, std::allocator<char> > > > >&>> = {
<boost::function_base> = {
vtable = 0x1000b5131,
functor = {
obj_ptr = 0x1000a70e0,
type = {
type = 0x1000a70e0,
const_qualified = false,
volatile_qualified = false
},
func_ptr = 0x1000a70e0 <tokenizer(std::string const&, std::vector<boost::shared_ptr<std::string const>, std::allocator<boost::shared_ptr<std::string const> > >&)>,
bound_memfunc_ptr = {
memfunc_ptr = {
__pfn = 0x1000a70e0 <tokenizer(std::string const&, std::vector<boost::shared_ptr<std::string const>, std::allocator<boost::shared_ptr<std::string const> > >&)>,
__delta = 0
},
obj_ptr = 0x0
},
obj_ref = {
obj_ptr = 0x1000a70e0,
is_const_qualified = false,
is_volatile_qualified = false
},
data = -32 '?'
}
},
<std::binary_function<const std::basic_string<char, std::char_traits<char>, std::allocator<char> >&,std::vector<boost::shared_ptr<const std::basic_string<char, std::char_traits<char>, std::allocator<char> > >, std::allocator<boost::shared_ptr<const std::basic_string<char, std::char_traits<char>, std::allocator<char> > > > >&,void>> = {<No data fields>}, <No data fields>}, <No data fields>},
handle_exc = {
<boost::function1<void,const std::exception&>> = {
<boost::function_base> = {
vtable = 0x10004d961,
functor = {
obj_ptr = 0x10002e430,
type = {
type = 0x10002e430,
const_qualified = 47,
volatile_qualified = 54
},
func_ptr = 0x10002e430 <defaultExceptionCallback(std::exception const&)>,
bound_memfunc_ptr = {
memfunc_ptr = {
__pfn = 0x10002e430 <defaultExceptionCallback(std::exception const&)>,
__delta = 140735617906223
},
obj_ptr = 0x0
},
obj_ref = {
obj_ptr = 0x10002e430,
is_const_qualified = 47,
is_volatile_qualified = 54
},
data = 48 '0'
}
},
<std::unary_function<const std::exception&,void>> = {<No data fields>}, <No data fields>}, <No data fields>},
default_filter = {
px = 0x100200cd0,
pn = {
pi_ = 0x100200d20
}
},
_default_handler = {
<boost::function1<void,const std::basic_string<char, std::char_traits<char>, std::allocator<char> >&>> = {
<boost::function_base> = {
vtable = 0x10000c981,
functor = {
obj_ptr = 0x10009aff0,
type = {
type = 0x10009aff0,
const_qualified = 105,
volatile_qualified = 110
},
func_ptr = 0x10009aff0 <mdc2250_::unparsedMessages(std::string const&)>,
bound_memfunc_ptr = {
memfunc_ptr = {
__pfn = 0x10009aff0 <mdc2250_::unparsedMessages(std::string const&)>,
__delta = 3418922014268354153
},
obj_ptr = 0x0
},
obj_ref = {
obj_ptr = 0x10009aff0,
is_const_qualified = 105,
is_volatile_qualified = 110
},
data = -16 '?'
}
},
<std::unary_function<const std::basic_string<char, std::char_traits<char>, std::allocator<char> >&,void>> = {<No data fields>}, <No data fields>}, <No data fields>},
default_comparator = {
<boost::function1<bool,const std::basic_string<char, std::char_traits<char>, std::allocator<char> >&>> = {
<boost::function_base> = {
vtable = 0x10004d971,
functor = {
obj_ptr = 0x10002f080,
type = {
type = 0x10002f080,
const_qualified = 47,
volatile_qualified = 54
},
func_ptr = 0x10002f080 <defaultComparator(std::string const&)>,
bound_memfunc_ptr = {
memfunc_ptr = {
__pfn = 0x10002f080 <defaultComparator(std::string const&)>,
__delta = 140735617906223
},
obj_ptr = 0x0
},
obj_ref = {
obj_ptr = 0x10002f080,
is_const_qualified = 47,
is_volatile_qualified = 54
},
data = -128 '?'
}
},
<std::unary_function<const std::basic_string<char, std::char_traits<char>, std::allocator<char> >&,bool>> = {<No data fields>}, <No data fields>}, <No data fields>},
listening = true,
serial_port_padding = "\000\000\000\000\000\000",
serial_port_ = 0x7fff5fbfee98,
listen_thread = {
thread_info = {
px = 0x100201dd0,
pn = {
pi_ = 0x100201a00
}
}
},
data_buffer = {
_M_dataplus = {
<std::allocator<char>> = {
<__gnu_cxx::new_allocator<char>> = {<No data fields>}, <No data fields>},
members of std::basic_string<char,std::char_traits<char>,std::allocator<char> >::_Alloc_hider:
_M_p = 0x7fff78655878 ""
}
},
chunk_size_ = 5,
callback_queue = {
the_queue = {
c = {
<std::_Deque_base<std::pair<boost::shared_ptr<serial::Filter>, boost::shared_ptr<const std::basic_string<char, std::char_traits<char>, std::allocator<char> > > >,std::allocator<std::pair<boost::shared_ptr<serial::Filter>, boost::shared_ptr<const std::basic_string<char, std::char_traits<char>, std::allocator<char> > > > > >> = {
_M_impl = {
<std::allocator<std::pair<boost::shared_ptr<serial::Filter>, boost::shared_ptr<const std::basic_string<char, std::char_traits<char>, std::allocator<char> > > > >> = {
<__gnu_cxx::new_allocator<std::pair<boost::shared_ptr<serial::Filter>, boost::shared_ptr<const std::basic_string<char, std::char_traits<char>, std::allocator<char> > > > >> = {<No data fields>}, <No data fields>},
members of std::_Deque_base<std::pair<boost::shared_ptr<serial::Filter>, boost::shared_ptr<const std::basic_string<char, std::char_traits<char>, std::allocator<char> > > >,std::allocator<std::pair<boost::shared_ptr<serial::Filter>, boost::shared_ptr<const std::basic_string<char, std::char_traits<char>, std::allocator<char> > > > > >::_Deque_impl:
_M_map = 0x100200ed0,
_M_map_size = 8,
_M_start = {
_M_cur = 0x1008001b0,
_M_first = 0x100800110,
_M_last = 0x100800310,
_M_node = 0x100200f00
},
_M_finish = {
_M_cur = 0x1008001b0,
_M_first = 0x100800110,
_M_last = 0x100800310,
_M_node = 0x100200f00
}
}
}, <No data fields>}
},
the_mutex = {
m = {
__sig = 1297437784,
__opaque = "\000\000\000\000` ", '\0' <repeats 11 times>, "?\n\000\000?\n\000\000\000\000\000\000\000\000\000(?_?\000\000,?_?\000\000\000\000\000\000\000\000\000"
}
},
the_condition_variable = {
internal_mutex = {
__sig = 1297437784,
__opaque = "\000\000\000\000` ", '\0' <repeats 11 times>, "?\n\000\000?\n\000\000\000\000\000\000\000\000\000h?_?\000\000l?_?\000\000\000\000\000\000\000\000\000"
},
cond = {
__sig = 1129270852,
__opaque = "\000\000\000\000\000\000\000?P?_?\000\000\000?\004\000\000?\004\000\000?\004", '\0' <repeats 12 times>
}
}
},
callback_thread = {
thread_info = {
px = 0x100201fd0,
pn = {
pi_ = 0x100201a20
}
}
},
filter_mux = {
m = {
__sig = 1297437784,
__opaque = "\000\000\000\000` ", '\0' <repeats 11 times>, "?\002\000\000?\002\000\000\000\000\000\000\000\000\000??_?\000\000??_?\000\000\000\000\000\000\000\000\000"
}
},
filters = {
<std::_Vector_base<boost::shared_ptr<serial::Filter>,std::allocator<boost::shared_ptr<serial::Filter> > >> = {
_M_impl = {
<std::allocator<boost::shared_ptr<serial::Filter> >> = {
<__gnu_cxx::new_allocator<boost::shared_ptr<serial::Filter> >> = {<No data fields>}, <No data fields>},
members of std::_Vector_base<boost::shared_ptr<serial::Filter>,std::allocator<boost::shared_ptr<serial::Filter> > >::_Vector_impl:
_M_start = 0x100202790,
_M_finish = 0x1002027f0,
_M_end_of_storage = 0x100202810
}
}, <No data fields>}
},
ack_filter = {
px = 0x100200d60,
pn = {
pi_ = 0x100201190
}
},
nak_filter = {
px = 0x1002011d0,
pn = {
pi_ = 0x100200e90
}
},
ping_filter = {
px = 0x1002015e0,
pn = {
pi_ = 0x1002015c0
}
},
telemetry_filters_ = {
<std::_Vector_base<boost::shared_ptr<serial::Filter>,std::allocator<boost::shared_ptr<serial::Filter> > >> = {
_M_impl = {
<std::allocator<boost::shared_ptr<serial::Filter> >> = {
<__gnu_cxx::new_allocator<boost::shared_ptr<serial::Filter> >> = {<No data fields>}, <No data fields>},
members of std::_Vector_base<boost::shared_ptr<serial::Filter>,std::allocator<boost::shared_ptr<serial::Filter> > >::_Vector_impl:
_M_start = 0x100201b50,
_M_finish = 0x100201b80,
_M_end_of_storage = 0x100201b90
}
}, <No data fields>},
connected_ = true,
echo_ = false,
estop_ = false,
debug_mode_ = true
}
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment