Skip to content

Instantly share code, notes, and snippets.

@frozencemetery
Created November 13, 2015 17:35
Show Gist options
  • Star 0 You must be signed in to star a gist
  • Fork 0 You must be signed in to fork a gist
  • Save frozencemetery/4b5a09488f96803fb6e1 to your computer and use it in GitHub Desktop.
Save frozencemetery/4b5a09488f96803fb6e1 to your computer and use it in GitHub Desktop.
fedora - rr with gssproxy
rharwood@fedproxy:~/gssproxy/proxy$ gdb /usr/local/bin/rr
GNU gdb (GDB) Fedora 7.9.1-20.fc22
Copyright (C) 2015 Free Software Foundation, Inc.
License GPLv3+: GNU GPL version 3 or later <http://gnu.org/licenses/gpl.html>
This is free software: you are free to change and redistribute it.
There is NO WARRANTY, to the extent permitted by law. Type "show copying"
and "show warranty" for details.
This GDB was configured as "x86_64-redhat-linux-gnu".
Type "show configuration" for configuration details.
For bug reporting instructions, please see:
<http://www.gnu.org/software/gdb/bugs/>.
Find the GDB manual and other documentation resources online at:
<http://www.gnu.org/software/gdb/documentation/>.
For help, type "help".
Type "apropos word" to search for commands related to "word"...
Reading symbols from /usr/local/bin/rr...done.
(gdb) set args replay
(gdb) b src/Event.cc:52
Breakpoint 1 at 0x5cbc59: file /home/rharwood/rr/src/Event.cc, line 52.
(gdb) b assert
Function "assert" not defined.
Make breakpoint pending on future shared library load? (y or [n]) y
Breakpoint 2 (assert) pending.
(gdb) set follow-fork-mode child
(gdb) r
Starting program: /usr/local/bin/rr replay
[Thread debugging using libthread_db enabled]
Using host libthread_db library "/lib64/libthread_db.so.1".
[New process 7177]
[Thread debugging using libthread_db enabled]
Using host libthread_db library "/lib64/libthread_db.so.1".
[Switching to Thread 0x7ffff7fe6740 (LWP 7177)]
Breakpoint 1, Event::Event (this=0x7fffffffd3c0, e=...) at /home/rharwood/rr/src/Event.cc:52
52 assert(0 == e.data);
(gdb) bt
#0 Event::Event (this=0x7fffffffd3c0, e=...) at /home/rharwood/rr/src/Event.cc:52
#1 0x00000000006c48ba in TraceReader::read_frame (this=0x7ffff7ee40e8) at /home/rharwood/rr/src/TraceStream.cc:206
#2 0x000000000065dd18 in ReplaySession::advance_to_next_trace_frame (this=0x7ffff7ee4010, stop_at_time=0) at /home/rharwood/rr/src/ReplaySession.cc:181
#3 0x00000000006644da in ReplaySession::ReplaySession (this=0x7ffff7ee4010, dir=...) at /home/rharwood/rr/src/ReplaySession.h:322
#4 0x000000000065daeb in ReplaySession::create (dir=...) at /home/rharwood/rr/src/ReplaySession.cc:152
#5 0x000000000065ba41 in replay (trace_dir=..., flags=...) at /home/rharwood/rr/src/ReplayCommand.cc:369
#6 0x000000000065c3c4 in ReplayCommand::run (this=0x977e10 <ReplayCommand::singleton>, args=...) at /home/rharwood/rr/src/ReplayCommand.cc:478
#7 0x000000000060c850 in main (argc=2, argv=0x7fffffffe2e8) at /home/rharwood/rr/src/main.cc:259
(gdb) up
#1 0x00000000006c48ba in TraceReader::read_frame (this=0x7ffff7ee40e8) at /home/rharwood/rr/src/TraceStream.cc:206
206 Event(basic_info.ev), basic_info.ticks_);
(gdb) p this
$1 = (TraceReader * const) 0x7ffff7ee40e8
(gdb) p *this
$2 = {<TraceStream> = {trace_dir = {static npos = <optimized out>, _M_dataplus = {<std::allocator<char>> = {<__gnu_cxx::new_allocator<char>> = {<No data fields>}, <No data fields>},
_M_p = 0x98a1a8 "/tmp/rr//latest-trace"}},
argv = {<std::_Vector_base<std::basic_string<char, std::char_traits<char>, std::allocator<char> >, std::allocator<std::basic_string<char, std::char_traits<char>, std::allocator<char> > > >> = {
_M_impl = {<std::allocator<std::basic_string<char, std::char_traits<char>, std::allocator<char> > >> = {<__gnu_cxx::new_allocator<std::basic_string<char, std::char_traits<char>, std::allocator<char> > >> = {<No data fields>}, <No data fields>}, _M_start = 0x98c820, _M_finish = 0x98c858, _M_end_of_storage = 0x98c860}}, <No data fields>},
envp = {<std::_Vector_base<std::basic_string<char, std::char_traits<char>, std::allocator<char> >, std::allocator<std::basic_string<char, std::char_traits<char>, std::allocator<char> > > >> = {
_M_impl = {<std::allocator<std::basic_string<char, std::char_traits<char>, std::allocator<char> > >> = {<__gnu_cxx::new_allocator<std::basic_string<char, std::char_traits<char>, std::allocator<char> > >> = {<No data fields>}, <No data fields>}, _M_start = 0x98f0b0, _M_finish = 0x98f110, _M_end_of_storage = 0x98f130}}, <No data fields>}, cwd = {static npos = <optimized out>,
_M_dataplus = {<std::allocator<char>> = {<__gnu_cxx::new_allocator<char>> = {<No data fields>}, <No data fields>}, _M_p = 0x98eac8 "/home/rharwood/gssproxy/proxy"}}, bind_to_cpu = 7, global_time = 0},
readers = {{
_M_t = {<std::_Tuple_impl<0ul, CompressedReader*, std::default_delete<CompressedReader> >> = {<std::_Tuple_impl<1ul, std::default_delete<CompressedReader> >> = {<std::_Head_base<1ul, std::default_delete<CompressedReader>, true>> = {<std::default_delete<CompressedReader>> = {<No data fields>}, <No data fields>}, <No data fields>}, <std::_Head_base<0ul, CompressedReader*, false>> = {
_M_head_impl = 0x98a220}, <No data fields>}, <No data fields>}}, {
_M_t = {<std::_Tuple_impl<0ul, CompressedReader*, std::default_delete<CompressedReader> >> = {<std::_Tuple_impl<1ul, std::default_delete<CompressedReader> >> = {<std::_Head_base<1ul, std::default_delete<CompressedReader>, true>> = {<std::default_delete<CompressedReader>> = {<No data fields>}, <No data fields>}, <No data fields>}, <std::_Head_base<0ul, CompressedReader*, false>> = {
_M_head_impl = 0x98a2e0}, <No data fields>}, <No data fields>}}, {
_M_t = {<std::_Tuple_impl<0ul, CompressedReader*, std::default_delete<CompressedReader> >> = {<std::_Tuple_impl<1ul, std::default_delete<CompressedReader> >> = {<std::_Head_base<1ul, std::default_delete<CompressedReader>, true>> = {<std::default_delete<CompressedReader>> = {<No data fields>}, <No data fields>}, <No data fields>}, <std::_Head_base<0ul, CompressedReader*, false>> = {
_M_head_impl = 0x98a3a0}, <No data fields>}, <No data fields>}}, {
_M_t = {<std::_Tuple_impl<0ul, CompressedReader*, std::default_delete<CompressedReader> >> = {<std::_Tuple_impl<1ul, std::default_delete<CompressedReader> >> = {<std::_Head_base<1ul, std::default_delete<CompressedReader>, true>> = {<std::default_delete<CompressedReader>> = {<No data fields>}, <No data fields>}, <No data fields>}, <std::_Head_base<0ul, CompressedReader*, false>> = {
_M_head_impl = 0x98a460}, <No data fields>}, <No data fields>}}, {
_M_t = {<std::_Tuple_impl<0ul, CompressedReader*, std::default_delete<CompressedReader> >> = {<std::_Tuple_impl<1ul, std::default_delete<CompressedReader> >> = {<std::_Head_base<1ul, std::default_delete<CompressedReader>, true>> = {<std::default_delete<CompressedReader>> = {<No data fields>}, <No data fields>}, <No data fields>}, <std::_Head_base<0ul, CompressedReader*, false>> = {
_M_head_impl = 0x98a520}, <No data fields>}, <No data fields>}}}}
(gdb)
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment