When I used gdb cmd 'load' to load a firmware, I received the message "Assertion `frame_id_p (*this_id) failed". Detail as followed:
gdb cmd in a text script, gdb.ini
source /my_local_dir1/userlib.gdb // This is a local script /
set arch riscv:rv32
set remotetimeout 240
set confirm off
target extended-remote xx.xx.xx.xx:yyyy // my local host gdb server ip and port /
monitor reset halt
thread 1
load
thread 2
set $pc=_start
thread 3
set $pc=_start
thread 4
set $pc=_start
thread 5
set $pc=_start
thread 6
set $pc=_start
thread 1
set_gdb_load_pattern
info thread
final execute gdb cmd:
riscv64-unknow-elf-gdb --command /my_local_dir2/gdb.ini /my_local_dir3/my_firmware.elf
received error mesage:
GNU gdb (SiFive GDB 8.3.0-2019.08.0) 8.3
Copyright (C) 2019 Free Software Fundation, Inc.
...(Leave out)...
Reading symbols from /my_local_dir3/my_firmware.elf...
The target architecture is assumed to be riscv:rv32
A_My_Function_A ( // I don't know why print a function name of my code /
/scratch/carsteng/freedom-tools-master/obj/0x86_64-linux-ubuntu14/build/riscv-gnu-toolchain/riscv-gdb/gdb/inline-frame.c:156: internal-error: void inline_frame_this_id(frame_info*, void*, frame_id): Assertion `frame_id_p (*this_id)' failed.
A problem internal to GDB has been detected,
further debugging may prove unreliable.
This is a bug, ...
make: *** [Makefile:xxx: xxx] Aborted (core dumped)
When I used gdb cmd 'load' to load a firmware, I received the message "Assertion `frame_id_p (*this_id) failed". Detail as followed: