GDB 调试进程手动加载动态库的方法

如果进程通过 dlopen() 手动加载动态库,某些情况下不能被 GDB 识别调试符号,这个时候可以通过 GDB 的 add symbol file file address 命令来手动添加调试符号,address 是动态库在进程中的 text 段 entry 地址,考虑动态库只有加载到进程中,才能得知真正的内存地址,因此我们可以通过 GDB 的 info

2024-11-28 · 1 min · zevorn

在幽兰本上构建最小 KVM 虚拟机

构建最小虚拟机 前言 ARM 架构上的 KVM(Kernel based Virtual Machine)是一种基于 Linux 内核的虚拟化技术,它允许用户空间程序通过系统调用来直接控制硬件,从而实现对虚拟机的管理。KVM 在 x86 平台上已经非常成熟,而在 ARM 架构上,KVM 也得到了广泛的支持和发展。 PS: 本文首发在幽兰 Wiki 构建最小虚

2024-10-06 · 6 min · zevorn