问题描述
我怎么做一个x86软件中断等价的:
How do I do the equivalent of an x86 software interrupt:
asm( "int $3" )
在ARM处理器上(特别是一个Cortex A8的)生成,将打破在gdb下执行一个事件?
on an ARM processor (specifically a Cortex A8) to generate an event that will break execution under gdb?
推荐答案
ARM并没有定义一个特定的断点指令。它可以在不同的操作系统不同。 ARM Linux上它通常是一个UND运code(如 FE DE FF E7
)的ARM模式和BKPT( BE BE )。
ARM does not define a specific breakpoint instruction. It can be different in different OSes. On ARM Linux it's usually an UND opcode (e.g.
FE DE FF E7
) in ARM mode and BKPT (BE BE
) in Thumb.
使用GCC编译器,通常可以使用
__ builtin_trap()
内在生成一个特定于平台的断点。另一种选择是加薪(SIGTRAP)
。
With GCC compilers, you can usually use
__builtin_trap()
intrinsic to generate a platform-specific breakpoint. Another option is raise(SIGTRAP)
.
这篇关于如何设置在ARM处理器上软件断点?的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持!