|
|
|
@@ -0,0 +1,119 @@
|
|
|
|
|
|
|
|
|
|
This test plays around with the "parallel-stacks" program that generates a PDF file
|
|
|
|
|
that contains a graph of threads, including their trace back.
|
|
|
|
|
|
|
|
|
|
Run the test program.
|
|
|
|
|
|
|
|
|
|
$ cd /nas/erniep/Development/seer/tests/hellothreads2
|
|
|
|
|
$ seergdb --project project.seer
|
|
|
|
|
|
|
|
|
|
After continuing and breaking at the first breakpoint that 'joins', run this command
|
|
|
|
|
in Seer's gdb command input.
|
|
|
|
|
|
|
|
|
|
pipe thread apply all bt | python3 parallel-stacks.py
|
|
|
|
|
|
|
|
|
|
It will run the script and view the parallel-stacks pdf.
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
Parsed output from gdb from the 'pipe' command.
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
$ python3 parallel-stacks.py -p 22900
|
|
|
|
|
Thread 10
|
|
|
|
|
level: 0, address: '0x00007f84094f0f05', function: 'clock_nanosleep@GLIBC_2.2.5', parameters: '', filename: '/lib64/libc.so.6'
|
|
|
|
|
level: 1, address: '0x00007f8409503b13', function: 'nanosleep', parameters: '', filename: '/lib64/libc.so.6'
|
|
|
|
|
level: 2, address: '0x00007f840951517a', function: 'sleep', parameters: '', filename: '/lib64/libc.so.6'
|
|
|
|
|
level: 3, address: '0x0000562f5846609f', function: 'operator()', parameters: '__closure=0x562f8e11c1c8, x=3', filename: 'hellothreads2.cpp:55'
|
|
|
|
|
level: 4, address: '0x0000562f584667ec', function: 'std::__invoke_impl<void, main()::<lambda(int)>, int>(std::__invoke_other, struct {...} &&)', parameters: '__f=...', filename: '/usr/include/c++/13/bits/invoke.h:61'
|
|
|
|
|
level: 5, address: '0x0000562f58466785', function: 'std::__invoke<main()::<lambda(int)>, int>(struct {...} &&)', parameters: '__fn=...', filename: '/usr/include/c++/13/bits/invoke.h:96'
|
|
|
|
|
level: 6, address: '0x0000562f584666f5', function: 'std::thread::_Invoker<std::tuple<main()::<lambda(int)>, int> >::_M_invoke<0, 1>(std::_Index_tuple<0, 1>)', parameters: 'this=0x562f8e11c1c8', filename: '/usr/include/c++/13/bits/std_thread.h:292'
|
|
|
|
|
level: 7, address: '0x0000562f584666ae', function: 'std::thread::_Invoker<std::tuple<main()::<lambda(int)>, int> >::operator()(void)', parameters: 'this=0x562f8e11c1c8', filename: '/usr/include/c++/13/bits/std_thread.h:299'
|
|
|
|
|
level: 8, address: '0x0000562f58466692', function: 'std::thread::_State_impl<std::thread::_Invoker<std::tuple<main()::<lambda(int)>, int> > >::_M_run(void)', parameters: 'this=0x562f8e11c1c0', filename: '/usr/include/c++/13/bits/std_thread.h:244'
|
|
|
|
|
level: 9, address: '0x00007f84098e8964', function: '??', parameters: '', filename: '/usr/local/lib64/libstdc++.so.6'
|
|
|
|
|
level: 10, address: '0x00007f84094a6f6c', function: 'start_thread', parameters: '', filename: '/lib64/libc.so.6'
|
|
|
|
|
level: 11, address: '0x00007f840952e388', function: 'clone3', parameters: '', filename: '/lib64/libc.so.6'
|
|
|
|
|
Thread 9
|
|
|
|
|
level: 0, address: '0x00007f84094f0f05', function: 'clock_nanosleep@GLIBC_2.2.5', parameters: '', filename: '/lib64/libc.so.6'
|
|
|
|
|
level: 1, address: '0x00007f8409503b13', function: 'nanosleep', parameters: '', filename: '/lib64/libc.so.6'
|
|
|
|
|
level: 2, address: '0x00007f840951517a', function: 'sleep', parameters: '', filename: '/lib64/libc.so.6'
|
|
|
|
|
level: 3, address: '0x0000562f584668fb', function: 'thread_obj::operator()', parameters: 'this=0x562f8e11c068, x=3', filename: 'hellothreads2.cpp:25'
|
|
|
|
|
level: 4, address: '0x0000562f58467490', function: 'std::__invoke_impl<void, thread_obj, int>', parameters: '__f=...', filename: '/usr/include/c++/13/bits/invoke.h:61'
|
|
|
|
|
level: 5, address: '0x0000562f5846738d', function: 'std::__invoke<thread_obj, int>', parameters: '__fn=...', filename: '/usr/include/c++/13/bits/invoke.h:96'
|
|
|
|
|
level: 6, address: '0x0000562f584672b3', function: 'std::thread::_Invoker<std::tuple<thread_obj, int> >::_M_invoke<0ul, 1ul>', parameters: 'this=0x562f8e11c068', filename: '/usr/include/c++/13/bits/std_thread.h:292'
|
|
|
|
|
level: 7, address: '0x0000562f58467250', function: 'std::thread::_Invoker<std::tuple<thread_obj, int> >::operator()', parameters: 'this=0x562f8e11c068', filename: '/usr/include/c++/13/bits/std_thread.h:299'
|
|
|
|
|
level: 8, address: '0x0000562f58467214', function: 'std::thread::_State_impl<std::thread::_Invoker<std::tuple<thread_obj, int> > >::_M_run', parameters: 'this=0x562f8e11c060', filename: '/usr/include/c++/13/bits/std_thread.h:244'
|
|
|
|
|
level: 9, address: '0x00007f84098e8964', function: '??', parameters: '', filename: '/usr/local/lib64/libstdc++.so.6'
|
|
|
|
|
level: 10, address: '0x00007f84094a6f6c', function: 'start_thread', parameters: '', filename: '/lib64/libc.so.6'
|
|
|
|
|
level: 11, address: '0x00007f840952e388', function: 'clone3', parameters: '', filename: '/lib64/libc.so.6'
|
|
|
|
|
|
|
|
|
|
Output from '-thread-info' command doesn't cut it. Only the first frame.
|
|
|
|
|
|
|
|
|
|
^done,threads=[
|
|
|
|
|
{id="1",target-id="Thread 0x7ffff7e7d740 (LWP 23678)",name="hellothreads2",
|
|
|
|
|
frame={level="0",addr="0x00005555555551f6",func="main",args=[],file="hellothreads2.cpp",fullname="/nas/erniep/Development/seer/tests/hellothreads2/hellothreads2.cpp",line="64",arch="i386:x86-64"},state="stopped",core="1"},
|
|
|
|
|
{id="2",target-id="Thread 0x7ffff77ff6c0 (LWP 23681)",name="hellothreads2",
|
|
|
|
|
frame={level="0",addr="0x00007ffff78f0f05",func="clock_nanosleep@GLIBC_2.2.5",args=[],from="/lib64/libc.so.6",arch="i386:x86-64"},state="stopped",core="3"},
|
|
|
|
|
|
|
|
|
|
Output from 'thread apply all bt'
|
|
|
|
|
|
|
|
|
|
thread apply all bt
|
|
|
|
|
|
|
|
|
|
Thread 9 (Thread 0x7ffff3ff86c0 (LWP 24364) "hellothreads2"):
|
|
|
|
|
#0 0x00007ffff78f0f05 in clock_nanosleep@GLIBC_2.2.5 () from /lib64/libc.so.6
|
|
|
|
|
#1 0x00007ffff7903b13 in nanosleep () from /lib64/libc.so.6
|
|
|
|
|
#2 0x00007ffff791517a in sleep () from /lib64/libc.so.6
|
|
|
|
|
#3 0x00005555555558fb in thread_obj::operator() (this=0x55555556d068, x=3) at hellothreads2.cpp:25
|
|
|
|
|
#4 0x0000555555556490 in std::__invoke_impl<void, thread_obj, int> (__f=...) at /usr/include/c++/13/bits/invoke.h:61
|
|
|
|
|
#5 0x000055555555638d in std::__invoke<thread_obj, int> (__fn=...) at /usr/include/c++/13/bits/invoke.h:96
|
|
|
|
|
#6 0x00005555555562b3 in std::thread::_Invoker<std::tuple<thread_obj, int> >::_M_invoke<0ul, 1ul> (this=0x55555556d068) at /usr/include/c++/13/bits/std_thread.h:292
|
|
|
|
|
#7 0x0000555555556250 in std::thread::_Invoker<std::tuple<thread_obj, int> >::operator() (this=0x55555556d068) at /usr/include/c++/13/bits/std_thread.h:299
|
|
|
|
|
#8 0x0000555555556214 in std::thread::_State_impl<std::thread::_Invoker<std::tuple<thread_obj, int> > >::_M_run (this=0x55555556d060) at /usr/include/c++/13/bits/std_thread.h:244
|
|
|
|
|
#9 0x00007ffff7ce8964 in ?? () from /usr/local/lib64/libstdc++.so.6
|
|
|
|
|
#10 0x00007ffff78a6f6c in start_thread () from /lib64/libc.so.6
|
|
|
|
|
#11 0x00007ffff792e388 in clone3 () from /lib64/libc.so.6
|
|
|
|
|
|
|
|
|
|
Thread 8 (Thread 0x7ffff47f96c0 (LWP 24363) "hellothreads2"):
|
|
|
|
|
#0 0x00007ffff78f0f05 in clock_nanosleep@GLIBC_2.2.5 () from /lib64/libc.so.6
|
|
|
|
|
#1 0x00007ffff7903b13 in nanosleep () from /lib64/libc.so.6
|
|
|
|
|
#2 0x00007ffff791517a in sleep () from /lib64/libc.so.6
|
|
|
|
|
#3 0x00005555555558fb in thread_obj::operator() (this=0x55555556cf08, x=3) at hellothreads2.cpp:25
|
|
|
|
|
#4 0x0000555555556490 in std::__invoke_impl<void, thread_obj, int> (__f=...) at /usr/include/c++/13/bits/invoke.h:61
|
|
|
|
|
#5 0x000055555555638d in std::__invoke<thread_obj, int> (__fn=...) at /usr/include/c++/13/bits/invoke.h:96
|
|
|
|
|
#6 0x00005555555562b3 in std::thread::_Invoker<std::tuple<thread_obj, int> >::_M_invoke<0ul, 1ul> (this=0x55555556cf08) at /usr/include/c++/13/bits/std_thread.h:292
|
|
|
|
|
#7 0x0000555555556250 in std::thread::_Invoker<std::tuple<thread_obj, int> >::operator() (this=0x55555556cf08) at /usr/include/c++/13/bits/std_thread.h:299
|
|
|
|
|
#8 0x0000555555556214 in std::thread::_State_impl<std::thread::_Invoker<std::tuple<thread_obj, int> > >::_M_run (this=0x55555556cf00) at /usr/include/c++/13/bits/std_thread.h:244
|
|
|
|
|
#9 0x00007ffff7ce8964 in ?? () from /usr/local/lib64/libstdc++.so.6
|
|
|
|
|
#10 0x00007ffff78a6f6c in start_thread () from /lib64/libc.so.6
|
|
|
|
|
#11 0x00007ffff792e388 in clone3 () from /lib64/libc.so.6
|
|
|
|
|
|
|
|
|
|
Output from 'frames-list'
|
|
|
|
|
|
|
|
|
|
^done,threads=[
|
|
|
|
|
{id="10",target-id="(28429, 28440, 0)",name="hellothreads2",state="stopped",current="0",frames=[
|
|
|
|
|
{level="0",addr="0x7ffff78f0f05",func="clock_nanosleep@GLIBC_2.2.5",arch="i386:x86-64",from="/lib64/libc.so.6",type="normal"},
|
|
|
|
|
{level="1",addr="0x7ffff7903b13",func="nanosleep",arch="i386:x86-64",from="/lib64/libc.so.6",type="normal"},
|
|
|
|
|
{level="2",addr="0x7ffff791517a",func="sleep",arch="i386:x86-64",from="/lib64/libc.so.6",type="normal"},
|
|
|
|
|
{level="3",addr="0x555555555089",func="operator()",arch="i386:x86-64",file="hellothreads2.cpp",fullname="/nas/erniep/Development/seer/tests/hellothreads2/hellothreads2.cpp",line="53",type="normal"},
|
|
|
|
|
{level="4",addr="0x5555555557ec",func="std::__invoke_impl<void, main()::<lambda(int)>, int>(std::__invoke_other, struct {...} &&)",arch="i386:x86-64",file="/usr/include/c++/13/bits/invoke.h",fullname="/usr/include/c++/13/bits/invoke.h",line="61",type="normal"},
|
|
|
|
|
{level="5",addr="0x555555555785",func="std::__invoke<main()::<lambda(int)>, int>(struct {...} &&)",arch="i386:x86-64",file="/usr/include/c++/13/bits/invoke.h",fullname="/usr/include/c++/13/bits/invoke.h",line="96",type="normal"},
|
|
|
|
|
{level="6",addr="0x5555555556f5",func="std::thread::_Invoker<std::tuple<main()::<lambda(int)>, int> >::_M_invoke<0, 1>(std::_Index_tuple<0, 1>)",arch="i386:x86-64",file="/usr/include/c++/13/bits/std_thread.h",fullname="/usr/include/c++/13/bits/std_thread.h",line="292",type="normal"},
|
|
|
|
|
{level="7",addr="0x5555555556ae",func="std::thread::_Invoker<std::tuple<main()::<lambda(int)>, int> >::operator()(void)",arch="i386:x86-64",file="/usr/include/c++/13/bits/std_thread.h",fullname="/usr/include/c++/13/bits/std_thread.h",line="299",type="normal"},
|
|
|
|
|
{level="8",addr="0x555555555692",func="std::thread::_State_impl<std::thread::_Invoker<std::tuple<main()::<lambda(int)>, int> > >::_M_run(void)",arch="i386:x86-64",file="/usr/include/c++/13/bits/std_thread.h",fullname="/usr/include/c++/13/bits/std_thread.h",line="244",type="normal"},
|
|
|
|
|
{level="9",addr="0x7ffff7ce8964",func="??",arch="i386:x86-64",from="/usr/local/lib64/libstdc++.so.6",type="normal"},
|
|
|
|
|
{level="10",addr="0x7ffff78a6f6c",func="start_thread",arch="i386:x86-64",from="/lib64/libc.so.6",type="normal"},
|
|
|
|
|
{level="11",addr="0x7ffff792e388",func="clone3",arch="i386:x86-64",from="/lib64/libc.so.6",type="normal"}]},
|
|
|
|
|
{id="8",target-id="(28429, 28438, 0)",name="hellothreads2",state="stopped",current="0",frames=[{level="0",addr="0x7ffff78f0f05",func="clock_nanosleep@GLIBC_2.2.5",arch="i386:x86-64",from="/lib64/libc.so.6",type="normal"},{level="1",addr="0x7ffff7903b13",func="nanosleep",arch="i386:x86-64",from="/lib64/libc.so.6",type="normal"},{level="2",addr="0x7ffff791517a",func="sleep",arch="i386:x86-64",from="/lib64/libc.so.6",type="normal"},{level="3",addr="0x5555555558fb",func="thread_obj::operator()",arch="i386:x86-64",file="hellothreads2.cpp",fullname="/nas/erniep/Development/seer/tests/hellothreads2/hellothreads2.cpp",line="25",type="normal"},{level="4",addr="0x555555556490",func="std::__invoke_impl<void, thread_obj, int>",arch="i386:x86-64",file="/usr/include/c++/13/bits/invoke.h",fullname="/usr/include/c++/13/bits/invoke.h",line="61",type="normal"},{level="5",addr="0x55555555638d",func="std::__invoke<thread_obj, int>",arch="i386:x86-64",file="/usr/include/c++/13/bits/invoke.h",fullname="/usr/include/c++/13/bits/invoke.h",line="96",type="normal"},{level="6",addr="0x5555555562b3",func="std::thread::_Invoker<std::tuple<thread_obj, int> >::_M_invoke<0ul, 1ul>",arch="i386:x86-64",file="/usr/include/c++/13/bits/std_thread.h",fullname="/usr/include/c++/13/bits/std_thread.h",line="292",type="normal"},{level="7",addr="0x555555556250",func="std::thread::_Invoker<std::tuple<thread_obj, int> >::operator()",arch="i386:x86-64",file="/usr/include/c++/13/bits/std_thread.h",fullname="/usr/include/c++/13/bits/std_thread.h",line="299",type="normal"},{level="8",addr="0x555555556214",func="std::thread::_State_impl<std::thread::_Invoker<std::tuple<thread_obj, int> > >::_M_run",arch="i386:x86-64",file="/usr/include/c++/13/bits/std_thread.h",fullname="/usr/include/c++/13/bits/std_thread.h",line="244",type="normal"},{level="9",addr="0x7ffff7ce8964",func="??",arch="i386:x86-64",from="/usr/local/lib64/libstdc++.so.6",type="normal"},{level="10",addr="0x7ffff78a6f6c",func="start_thread",arch="i386:x86-64",from="/lib64/libc.so.6",type="normal"},{level="11",addr="0x7ffff792e388",func="clone3",arch="i386:x86-64",from="/lib64/libc.so.6",type="normal"}]},
|
|
|
|
|
{id="7",target-id="(28429, 28437, 0)",name="hellothreads2",state="stopped",current="0",frames=[{level="0",addr="0x7ffff78f0f05",func="clock_nanosleep@GLIBC_2.2.5",arch="i386:x86-64",from="/lib64/libc.so.6",type="normal"},{level="1",addr="0x7ffff7903b13",func="nanosleep",arch="i386:x86-64",from="/lib64/libc.so.6",type="normal"},{level="2",addr="0x7ffff791517a",func="sleep",arch="i386:x86-64",from="/lib64/libc.so.6",type="normal"},{level="3",addr="0x5555555558fb",func="thread_obj::operator()",arch="i386:x86-64",file="hellothreads2.cpp",fullname="/nas/erniep/Development/seer/tests/hellothreads2/hellothreads2.cpp",line="25",type="normal"},{level="4",addr="0x555555556490",func="std::__invoke_impl<void, thread_obj, int>",arch="i386:x86-64",file="/usr/include/c++/13/bits/invoke.h",fullname="/usr/include/c++/13/bits/invoke.h",line="61",type="normal"},{level="5",addr="0x55555555638d",func="std::__invoke<thread_obj, int>",arch="i386:x86-64",file="/usr/include/c++/13/bits/invoke.h",fullname="/usr/include/c++/13/bits/invoke.h",line="96",type="normal"},{level="6",addr="0x5555555562b3",func="std::thread::_Invoker<std::tuple<thread_obj, int> >::_M_invoke<0ul, 1ul>",arch="i386:x86-64",file="/usr/include/c++/13/bits/std_thread.h",fullname="/usr/include/c++/13/bits/std_thread.h",line="292",type="normal"},{level="7",addr="0x555555556250",func="std::thread::_Invoker<std::tuple<thread_obj, int> >::operator()",arch="i386:x86-64",file="/usr/include/c++/13/bits/std_thread.h",fullname="/usr/include/c++/13/bits/std_thread.h",line="299",type="normal"},{level="8",addr="0x555555556214",func="std::thread::_State_impl<std::thread::_Invoker<std::tuple<thread_obj, int> > >::_M_run",arch="i386:x86-64",file="/usr/include/c++/13/bits/std_thread.h",fullname="/usr/include/c++/13/bits/std_thread.h",line="244",type="normal"},{level="9",addr="0x7ffff7ce8964",func="??",arch="i386:x86-64",from="/usr/local/lib64/libstdc++.so.6",type="normal"},{level="10",addr="0x7ffff78a6f6c",func="start_thread",arch="i386:x86-64",from="/lib64/libc.so.6",type="normal"},{level="11",addr="0x7ffff792e388",func="clone3",arch="i386:x86-64",from="/lib64/libc.so.6",type="normal"}]},
|
|
|
|
|
{id="6",target-id="(28429, 28436, 0)",name="hellothreads2",state="stopped",current="0",frames=[{level="0",addr="0x7ffff78f0f05",func="clock_nanosleep@GLIBC_2.2.5",arch="i386:x86-64",from="/lib64/libc.so.6",type="normal"},{level="1",addr="0x7ffff7903b13",func="nanosleep",arch="i386:x86-64",from="/lib64/libc.so.6",type="normal"},{level="2",addr="0x7ffff791517a",func="sleep",arch="i386:x86-64",from="/lib64/libc.so.6",type="normal"},{level="3",addr="0x5555555558fb",func="thread_obj::operator()",arch="i386:x86-64",file="hellothreads2.cpp",fullname="/nas/erniep/Development/seer/tests/hellothreads2/hellothreads2.cpp",line="25",type="normal"},{level="4",addr="0x555555556490",func="std::__invoke_impl<void, thread_obj, int>",arch="i386:x86-64",file="/usr/include/c++/13/bits/invoke.h",fullname="/usr/include/c++/13/bits/invoke.h",line="61",type="normal"},{level="5",addr="0x55555555638d",func="std::__invoke<thread_obj, int>",arch="i386:x86-64",file="/usr/include/c++/13/bits/invoke.h",fullname="/usr/include/c++/13/bits/invoke.h",line="96",type="normal"},{level="6",addr="0x5555555562b3",func="std::thread::_Invoker<std::tuple<thread_obj, int> >::_M_invoke<0ul, 1ul>",arch="i386:x86-64",file="/usr/include/c++/13/bits/std_thread.h",fullname="/usr/include/c++/13/bits/std_thread.h",line="292",type="normal"},{level="7",addr="0x555555556250",func="std::thread::_Invoker<std::tuple<thread_obj, int> >::operator()",arch="i386:x86-64",file="/usr/include/c++/13/bits/std_thread.h",fullname="/usr/include/c++/13/bits/std_thread.h",line="299",type="normal"},{level="8",addr="0x555555556214",func="std::thread::_State_impl<std::thread::_Invoker<std::tuple<thread_obj, int> > >::_M_run",arch="i386:x86-64",file="/usr/include/c++/13/bits/std_thread.h",fullname="/usr/include/c++/13/bits/std_thread.h",line="244",type="normal"},{level="9",addr="0x7ffff7ce8964",func="??",arch="i386:x86-64",from="/usr/local/lib64/libstdc++.so.6",type="normal"},{level="10",addr="0x7ffff78a6f6c",func="start_thread",arch="i386:x86-64",from="/lib64/libc.so.6",type="normal"},{level="11",addr="0x7ffff792e388",func="clone3",arch="i386:x86-64",from="/lib64/libc.so.6",type="normal"}]},
|
|
|
|
|
{id="5",target-id="(28429, 28435, 0)",name="hellothreads2",state="stopped",current="0",frames=[{level="0",addr="0x7ffff78f0f05",func="clock_nanosleep@GLIBC_2.2.5",arch="i386:x86-64",from="/lib64/libc.so.6",type="normal"},{level="1",addr="0x7ffff7903b13",func="nanosleep",arch="i386:x86-64",from="/lib64/libc.so.6",type="normal"},{level="2",addr="0x7ffff791517a",func="sleep",arch="i386:x86-64",from="/lib64/libc.so.6",type="normal"},{level="3",addr="0x5555555558fb",func="thread_obj::operator()",arch="i386:x86-64",file="hellothreads2.cpp",fullname="/nas/erniep/Development/seer/tests/hellothreads2/hellothreads2.cpp",line="25",type="normal"},{level="4",addr="0x555555556490",func="std::__invoke_impl<void, thread_obj, int>",arch="i386:x86-64",file="/usr/include/c++/13/bits/invoke.h",fullname="/usr/include/c++/13/bits/invoke.h",line="61",type="normal"},{level="5",addr="0x55555555638d",func="std::__invoke<thread_obj, int>",arch="i386:x86-64",file="/usr/include/c++/13/bits/invoke.h",fullname="/usr/include/c++/13/bits/invoke.h",line="96",type="normal"},{level="6",addr="0x5555555562b3",func="std::thread::_Invoker<std::tuple<thread_obj, int> >::_M_invoke<0ul, 1ul>",arch="i386:x86-64",file="/usr/include/c++/13/bits/std_thread.h",fullname="/usr/include/c++/13/bits/std_thread.h",line="292",type="normal"},{level="7",addr="0x555555556250",func="std::thread::_Invoker<std::tuple<thread_obj, int> >::operator()",arch="i386:x86-64",file="/usr/include/c++/13/bits/std_thread.h",fullname="/usr/include/c++/13/bits/std_thread.h",line="299",type="normal"},{level="8",addr="0x555555556214",func="std::thread::_State_impl<std::thread::_Invoker<std::tuple<thread_obj, int> > >::_M_run",arch="i386:x86-64",file="/usr/include/c++/13/bits/std_thread.h",fullname="/usr/include/c++/13/bits/std_thread.h",line="244",type="normal"},{level="9",addr="0x7ffff7ce8964",func="??",arch="i386:x86-64",from="/usr/local/lib64/libstdc++.so.6",type="normal"},{level="10",addr="0x7ffff78a6f6c",func="start_thread",arch="i386:x86-64",from="/lib64/libc.so.6",type="normal"},{level="11",addr="0x7ffff792e388",func="clone3",arch="i386:x86-64",from="/lib64/libc.so.6",type="normal"}]},
|
|
|
|
|
{id="9",target-id="(28429, 28439, 0)",name="hellothreads2",state="stopped",current="0",frames=[{level="0",addr="0x7ffff78f0f05",func="clock_nanosleep@GLIBC_2.2.5",arch="i386:x86-64",from="/lib64/libc.so.6",type="normal"},{level="1",addr="0x7ffff7903b13",func="nanosleep",arch="i386:x86-64",from="/lib64/libc.so.6",type="normal"},{level="2",addr="0x7ffff791517a",func="sleep",arch="i386:x86-64",from="/lib64/libc.so.6",type="normal"},{level="3",addr="0x5555555558fb",func="thread_obj::operator()",arch="i386:x86-64",file="hellothreads2.cpp",fullname="/nas/erniep/Development/seer/tests/hellothreads2/hellothreads2.cpp",line="25",type="normal"},{level="4",addr="0x555555556490",func="std::__invoke_impl<void, thread_obj, int>",arch="i386:x86-64",file="/usr/include/c++/13/bits/invoke.h",fullname="/usr/include/c++/13/bits/invoke.h",line="61",type="normal"},{level="5",addr="0x55555555638d",func="std::__invoke<thread_obj, int>",arch="i386:x86-64",file="/usr/include/c++/13/bits/invoke.h",fullname="/usr/include/c++/13/bits/invoke.h",line="96",type="normal"},{level="6",addr="0x5555555562b3",func="std::thread::_Invoker<std::tuple<thread_obj, int> >::_M_invoke<0ul, 1ul>",arch="i386:x86-64",file="/usr/include/c++/13/bits/std_thread.h",fullname="/usr/include/c++/13/bits/std_thread.h",line="292",type="normal"},{level="7",addr="0x555555556250",func="std::thread::_Invoker<std::tuple<thread_obj, int> >::operator()",arch="i386:x86-64",file="/usr/include/c++/13/bits/std_thread.h",fullname="/usr/include/c++/13/bits/std_thread.h",line="299",type="normal"},{level="8",addr="0x555555556214",func="std::thread::_State_impl<std::thread::_Invoker<std::tuple<thread_obj, int> > >::_M_run",arch="i386:x86-64",file="/usr/include/c++/13/bits/std_thread.h",fullname="/usr/include/c++/13/bits/std_thread.h",line="244",type="normal"},{level="9",addr="0x7ffff7ce8964",func="??",arch="i386:x86-64",from="/usr/local/lib64/libstdc++.so.6",type="normal"},{level="10",addr="0x7ffff78a6f6c",func="start_thread",arch="i386:x86-64",from="/lib64/libc.so.6",type="normal"},{level="11",addr="0x7ffff792e388",func="clone3",arch="i386:x86-64",from="/lib64/libc.so.6",type="normal"}]},
|
|
|
|
|
{id="4",target-id="(28429, 28434, 0)",name="hellothreads2",state="stopped",current="0",frames=[{level="0",addr="0x7ffff78f0f05",func="clock_nanosleep@GLIBC_2.2.5",arch="i386:x86-64",from="/lib64/libc.so.6",type="normal"},{level="1",addr="0x7ffff7903b13",func="nanosleep",arch="i386:x86-64",from="/lib64/libc.so.6",type="normal"},{level="2",addr="0x7ffff791517a",func="sleep",arch="i386:x86-64",from="/lib64/libc.so.6",type="normal"},{level="3",addr="0x5555555558fb",func="thread_obj::operator()",arch="i386:x86-64",file="hellothreads2.cpp",fullname="/nas/erniep/Development/seer/tests/hellothreads2/hellothreads2.cpp",line="25",type="normal"},{level="4",addr="0x555555556490",func="std::__invoke_impl<void, thread_obj, int>",arch="i386:x86-64",file="/usr/include/c++/13/bits/invoke.h",fullname="/usr/include/c++/13/bits/invoke.h",line="61",type="normal"},{level="5",addr="0x55555555638d",func="std::__invoke<thread_obj, int>",arch="i386:x86-64",file="/usr/include/c++/13/bits/invoke.h",fullname="/usr/include/c++/13/bits/invoke.h",line="96",type="normal"},{level="6",addr="0x5555555562b3",func="std::thread::_Invoker<std::tuple<thread_obj, int> >::_M_invoke<0ul, 1ul>",arch="i386:x86-64",file="/usr/include/c++/13/bits/std_thread.h",fullname="/usr/include/c++/13/bits/std_thread.h",line="292",type="normal"},{level="7",addr="0x555555556250",func="std::thread::_Invoker<std::tuple<thread_obj, int> >::operator()",arch="i386:x86-64",file="/usr/include/c++/13/bits/std_thread.h",fullname="/usr/include/c++/13/bits/std_thread.h",line="299",type="normal"},{level="8",addr="0x555555556214",func="std::thread::_State_impl<std::thread::_Invoker<std::tuple<thread_obj, int> > >::_M_run",arch="i386:x86-64",file="/usr/include/c++/13/bits/std_thread.h",fullname="/usr/include/c++/13/bits/std_thread.h",line="244",type="normal"},{level="9",addr="0x7ffff7ce8964",func="??",arch="i386:x86-64",from="/usr/local/lib64/libstdc++.so.6",type="normal"},{level="10",addr="0x7ffff78a6f6c",func="start_thread",arch="i386:x86-64",from="/lib64/libc.so.6",type="normal"},{level="11",addr="0x7ffff792e388",func="clone3",arch="i386:x86-64",from="/lib64/libc.so.6",type="normal"}]},
|
|
|
|
|
{id="3",target-id="(28429, 28433, 0)",name="hellothreads2",state="stopped",current="0",frames=[{level="0",addr="0x7ffff78f0f05",func="clock_nanosleep@GLIBC_2.2.5",arch="i386:x86-64",from="/lib64/libc.so.6",type="normal"},{level="1",addr="0x7ffff7903b13",func="nanosleep",arch="i386:x86-64",from="/lib64/libc.so.6",type="normal"},{level="2",addr="0x7ffff791517a",func="sleep",arch="i386:x86-64",from="/lib64/libc.so.6",type="normal"},{level="3",addr="0x5555555558fb",func="thread_obj::operator()",arch="i386:x86-64",file="hellothreads2.cpp",fullname="/nas/erniep/Development/seer/tests/hellothreads2/hellothreads2.cpp",line="25",type="normal"},{level="4",addr="0x555555556490",func="std::__invoke_impl<void, thread_obj, int>",arch="i386:x86-64",file="/usr/include/c++/13/bits/invoke.h",fullname="/usr/include/c++/13/bits/invoke.h",line="61",type="normal"},{level="5",addr="0x55555555638d",func="std::__invoke<thread_obj, int>",arch="i386:x86-64",file="/usr/include/c++/13/bits/invoke.h",fullname="/usr/include/c++/13/bits/invoke.h",line="96",type="normal"},{level="6",addr="0x5555555562b3",func="std::thread::_Invoker<std::tuple<thread_obj, int> >::_M_invoke<0ul, 1ul>",arch="i386:x86-64",file="/usr/include/c++/13/bits/std_thread.h",fullname="/usr/include/c++/13/bits/std_thread.h",line="292",type="normal"},{level="7",addr="0x555555556250",func="std::thread::_Invoker<std::tuple<thread_obj, int> >::operator()",arch="i386:x86-64",file="/usr/include/c++/13/bits/std_thread.h",fullname="/usr/include/c++/13/bits/std_thread.h",line="299",type="normal"},{level="8",addr="0x555555556214",func="std::thread::_State_impl<std::thread::_Invoker<std::tuple<thread_obj, int> > >::_M_run",arch="i386:x86-64",file="/usr/include/c++/13/bits/std_thread.h",fullname="/usr/include/c++/13/bits/std_thread.h",line="244",type="normal"},{level="9",addr="0x7ffff7ce8964",func="??",arch="i386:x86-64",from="/usr/local/lib64/libstdc++.so.6",type="normal"},{level="10",addr="0x7ffff78a6f6c",func="start_thread",arch="i386:x86-64",from="/lib64/libc.so.6",type="normal"},{level="11",addr="0x7ffff792e388",func="clone3",arch="i386:x86-64",from="/lib64/libc.so.6",type="normal"}]},
|
|
|
|
|
{id="2",target-id="(28429, 28432, 0)",name="hellothreads2",state="stopped",current="0",frames=[{level="0",addr="0x7ffff78f0f05",func="clock_nanosleep@GLIBC_2.2.5",arch="i386:x86-64",from="/lib64/libc.so.6",type="normal"},{level="1",addr="0x7ffff7903b13",func="nanosleep",arch="i386:x86-64",from="/lib64/libc.so.6",type="normal"},{level="2",addr="0x7ffff791517a",func="sleep",arch="i386:x86-64",from="/lib64/libc.so.6",type="normal"},{level="3",addr="0x555555555023",func="foo",arch="i386:x86-64",file="hellothreads2.cpp",fullname="/nas/erniep/Development/seer/tests/hellothreads2/hellothreads2.cpp",line="14",type="normal"},{level="4",addr="0x5555555564f1",func="std::__invoke_impl<void, void (*)(int), int>",arch="i386:x86-64",file="/usr/include/c++/13/bits/invoke.h",fullname="/usr/include/c++/13/bits/invoke.h",line="61",type="normal"},{level="5",addr="0x55555555641d",func="std::__invoke<void (*)(int), int>",arch="i386:x86-64",file="/usr/include/c++/13/bits/invoke.h",fullname="/usr/include/c++/13/bits/invoke.h",line="96",type="normal"},{level="6",addr="0x5555555562fd",func="std::thread::_Invoker<std::tuple<void (*)(int), int> >::_M_invoke<0ul, 1ul>",arch="i386:x86-64",file="/usr/include/c++/13/bits/std_thread.h",fullname="/usr/include/c++/13/bits/std_thread.h",line="292",type="normal"},{level="7",addr="0x55555555626c",func="std::thread::_Invoker<std::tuple<void (*)(int), int> >::operator()",arch="i386:x86-64",file="/usr/include/c++/13/bits/std_thread.h",fullname="/usr/include/c++/13/bits/std_thread.h",line="299",type="normal"},{level="8",addr="0x555555556234",func="std::thread::_State_impl<std::thread::_Invoker<std::tuple<void (*)(int), int> > >::_M_run",arch="i386:x86-64",file="/usr/include/c++/13/bits/std_thread.h",fullname="/usr/include/c++/13/bits/std_thread.h",line="244",type="normal"},{level="9",addr="0x7ffff7ce8964",func="??",arch="i386:x86-64",from="/usr/local/lib64/libstdc++.so.6",type="normal"},{level="10",addr="0x7ffff78a6f6c",func="start_thread",arch="i386:x86-64",from="/lib64/libc.so.6",type="normal"},{level="11",addr="0x7ffff792e388",func="clone3",arch="i386:x86-64",from="/lib64/libc.so.6",type="normal"}]},
|
|
|
|
|
{id="1",target-id="(28429, 28429, 0)",name="hellothreads2",state="stopped",current="1",frames=[{level="0",addr="0x5555555551f6",func="main",arch="i386:x86-64",file="hellothreads2.cpp",fullname="/nas/erniep/Development/seer/tests/hellothreads2/hellothreads2.cpp",line="64",type="normal"}]}
|
|
|
|
|
],
|
|
|
|
|
current_thread_id="1",
|
|
|
|
|
current_frame_level="0",
|
|
|
|
|
total_threads="10",
|
|
|
|
|
total_frames="109"
|
|
|
|
|
|