3
我的應用程序中的一些線程位於優化函數中,當我調試應用程序時,gdb無法從這些函數中回溯。但我已經看過了彙編,並通過做這樣的事情可以部分地放鬆手了以前的函數的幀堆棧:Linux(MIPS):查看核心轉儲時暫時「更改」註冊內容
set $old_ra = $ra
set $old_sp = $sp
set $ra = *(unsigned long*)($sp+28)
set $sp = $sp + 48
bt
set $ra = $old_ra
set $sp = $old_sp
這工作完全如果我做現場調試,併成功顯示了完成回溯。我希望在查看核心轉儲時能夠執行相同的離線操作。顯然,在一個核心轉儲中,戳一個寄存器的概念是沒有意義的,但是有沒有辦法告訴gdb「只用這個值作爲寄存器」,這樣我可以做一個類似的回溯?