【按语】:如果需要调试OPTEE,那么在远程调试配置中使用GDB可能会很有用。远程调试意味着GDB在您的PC上运行,它可以访问源代码,而被调试的程序在远程系统上运行(在本例中,在QEMU环境的OPTEE中)。本博客来探讨OPTEE的GDB调试技术实战。
要调试使用GDB运行QEMU的TEE内核,需要禁用TEE ASLR(CFG_CORE_ASLR=n)。此外,请注意,如果禁用了优化,则更容易进行调试。除此之外,你还将拥有4个控制台。
• Qemu console
• NW UART console
• SW UART console
• GDB console
除了GDB控制台之外,它们都是在使用QEMU运行OP-TEE时通常会看到/使用的控制台。
1、首先是修改代码中CFG_CORE_ASLR=n,然后编译optee_os,QEMU中相关操作详见optee4.0.0 qemu_v8环境搭建(支持Hafnium),之后启动QEMU,即:make run-only
2、接下来为GDB启动另一个控制台并执行以下操作:
aarch64-linux