问题描述
如何在代码中插入断点而不在GDB for MicroBlaze中插入断点?
解决/修复方法
不支持内联软件断点。但是,您可以通过执行以下步骤来解决此问题,以实现类似的功能:
1.编写一个名为int3()的简单函数,如下所示:
void int3(){
static int dummy; //阻止gcc优化代码
虚设++;
}
2.在主软件程序中,在调试器(XMD / GDB)需要停止的任何地方调用int3():
int main(){
…
INT3(); //软件断点
…
}
3.从XMD,使用“bps int3”命令在int3()函数中设置单个断点,或使用“break int3”命令从GDB执行此操作:
一个。在GDB中,选择“文件” – >“目标设置”。
湾选择“在int3处设置断点”。
C。选择确定。
每当程序调用int3()时,它将停止调试器。
有关硬件和软件断点之间差异的更多信息,请参阅(Xilinx答复21330) 。
没有回复内容