描述
在Ubuntu系统中,当试图在内核代码中设置断点的加速应用程序上运行仿真调试时,工具不会在断点上停止,而只会在主机代码断点上停止。
解决方法
默认情况下,Ubuntu 系统不允许调试器附加到其他进程,除非附加进程是附件的直接附进程。
在Vitis中,内核进程被分离出来进行调试,而在Ubuntu机器上,默认情况下是无法访问的。
作为一个解决方案,Ubuntu的默认行为可以通过两种方式之一被覆盖,这两种方式都需要root权限(通过sudo)。
选项1:
文件/proc/sys/kernel/yama/ptrace_scope可以从1改为0(用下面的命令),使其他进程能够进行ptracing。
echo 0 | sudo tee /proc/sys/kernel/yama/ptrace_scope
注意:这个命令只持续到下次重启。
选项2:
一个永久性的解决方案是修改文件/etc/sysctl.d/10-ptrace.conf,将上面使用的值设置为0。