一、libncursesw.so.5报错
在完成上述一系列步骤后,当你输入
aarch64-none-elf-gdb build/miniEuler
启动调试客户端时,可能会出现这样一行报错:
error while loading shared libraries: libncursesw.so.5: cannot open shared object file: No such file
这时候有三种解决途径:
(1)方法一
查看有没有装下面这个
ls -1 /usr/lib/libncursesw*
如果没安装,终端输入下面这行代码
sudo apt install libncursesw5-dev
(2)方法二
如果方法一试过了之后还是没有效果,试一下方法二,输入
ln -s /usr/lib/libncursesw.so.6 /usr/lib/libncursesw.so.5
(3)方法三
如果法一法二都没有解决问题,还可以试一下下面这个,键入下面四行命令
sudo apt install apt-file
sudo apt-file update
sudo apt-file find libncursesw.so.5
sudo apt install libncursesw5
就可以成功啦(•̤̀ᵕ•̤́๑)ᵒᵏᵎᵎᵎᵎ
PS:本人是尝试到方法三最后才成功的,大家也可以试一下直接用方法三,应该也可以
二、libpython3.6m.so.1.0报错
这个报错的解决方法借鉴计科2203班qq同学做法,在此特别感谢!
如果上述报错解决后,仍出现下面这行报错:
error while loading shared libraries: libpython3.6m.so.1.0: cannot open shared object file: No such file or directory
可以先下载python3.6的源码
wget -c https://www.python.org/ftp/python/3.6.15/Python-3.6.15.tar.xz
然后进行解压
tar -xf Python-3.6.15.tar.xz
如果下载速度很慢的话,可以尝试换个镜像ଘ(੭ˊᵕˋ)੭* ੈ✩‧₊˚
然后进行编译安装
cd Python-3.6.15
LDFLAGS="-L/usr/lib/x86_64-linux-gnu" ./configure
./configure --enable-shared
sudo make install
最后更新库缓存
sudo ldconfig
最后就可以进入调试客户端啦
三、设置调试参数,开始调试
第一步,准备两个终端窗口。在第一个终端输入
qemu-system-aarch64 -machine virt,gic-version=2 -m 1024M -cpu cortex-a53 -nographic -kernel build/miniEuler -s -S
启动调试服务器
第二步,打开第二个终端,进入刚刚的lab1路径,输入
aarch64-none-elf-gdb build/miniEuler
启动调试客户端,界面如上面图二所示。这时候,依次设置调试参数,开始调试
(gdb) target remote localhost:1234
(gdb) disassemble
(gdb) n
就可以啦。
PS:如果不先启动服务器,可能会出现“连接超时”等现象