有大佬安利了qira这款可回溯的调试器,于是试图在wsl上装(ubuntu 18.04),无奈在18.04上安装时的报错基本没找到什么有效的解决方法(甚至还找到明确说18.04装不了的说法),又懒得装16.04,于是只好试图自己摸索解决问题,幸好通过硬看源码解决了各种坑hhhh。
环境:WSL2(ubuntu 18.04)
安装
直接跟着qira官网里提供的安装输入即可。
1 | cd ~/ && wget -qO- https://github.com/geohot/qira/archive/v1.3.tar.gz | tar zx && cd qira-1.3 && ./install.sh |
当然传说中必不可能装上的18.04并不会这么简单(。
在走./install.sh
这一步的时候就会开始踩坑了。
修改文件避坑
配置文件修改commit:修改qira配置文件 · c10udlnk/someFixedConfigs@c42a3b7
报错static declaration of ‘memfd_create’ follows non-static declaration
按链接的上半部分修改qira-1.3/tracers/qemu/qemu-2.5.1/util/memfd.c文件,再次运行./install.sh
。
报错dereferencing pointer to incomplete type ‘struct ucontext’
按链接的下半部分修改qira-1.3/tracers/qemu/qemu-2.5.1/user-exec.c文件,再次运行./install.sh
。