debugging - 如何在ARM处理器上设置软件断点?

标签 debugging assembly gdb arm

我该如何等效于x86软件中断:

asm( "int $3" )

在ARM处理器(特别是Cortex A8)上生成一个事件,该事件将中断gdb下的执行?

最佳答案

ARM没有定义特定的断点指令。在不同的操作系统中可能会有所不同。在ARM Linux上,在ARM模式下通常是UND操作码(例如FE DE FF E7),在Thumb中通常是BKPT(BE BE)。

对于GCC编译器,通常可以使用__builtin_trap()内部函数生成特定于平台的断点。另一个选项是raise(SIGTRAP)

关于debugging - 如何在ARM处理器上设置软件断点?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/11345371/

相关文章:

javascript - 获取函数中输入变量的名称

ios - GDB/LLDB 在指定模块/共享库的所有函数处中断

javascript - 如何使用 Nashorn 调试 JavaScript 程序?

linux - 组装 - NASM 析因问题

c++ - ffmpeg 调试

xcode - 内存地址上的监视点

debugging - 如何使用 %llvm.dbg.value?

c++ - 在 DOS 7.x 中获取大型驱动器结构信息

linux - 在 x86 Linux 程序集中手动添加换行符到堆栈变量

debugging - 带 GDB 的 Rust 调试库