我正在调试一个新的线程库,我在其中手动设置堆栈寄存器rsp
(切换到用户管理的堆栈),然后调用一个永不返回的函数。
当我尝试在gdb中获得回溯时,我得到以下输出。
(gdb) bt
#0 load (_m=std::memory_order_seq_cst, this=<error reading variable: Asked for position 0 of stack, stack only has 0 elements on it.>)
at /usr/include/c++/4.9/atomic:209
#1 Arachne::schedulerMainLoop () at Arachne.cc:236
#2 0x000000000040268d in Arachne::threadMainFunction (id=<optimized out>) at Arachne.cc:135
#3 0x0000000000000000 in ?? ()
gdb
如何确定堆栈中有0个元素?
更一般地说,gdb
如何确定堆栈有多少元素?