我正在调试我为 AVR 架构编写并使用参数编译avr-gcc
的-g
程序。
我simulavr
使用以下命令启动:simulavr --device atmega8 --gdbserver
然后我调用avr-gdb
并做得(gdb) file main.elf
很好(gdb) target remote localhost:1212
一旦调试开始,我就可以成功地step
通过我的程序的汇编部分.init
等。但是,一旦jmp main
执行并调用另一个函数,就会simulavr
引发以下异常:Assertion failed: (m_on_call_sp != 0x0000), function OnCall, file hwstack.cpp, line 266. Abort trap: 6
它与将框架推送到堆栈有关,但我不能完全确定如何修复它。