个人由于工作方向原因经常会调试qemu-kvm文件,但是由于qemu是服务器上的公用文件,我们由于资源问题,经常都是很多人公用一个服务器,这就导致很容易影响其他人办公,为了尽可能减少影响,决定作以下改动
- 创建特殊目录用用户名命名/home/ygh/qemudebug/
- mv /usr/libexec/qemu-kvm /usr/libexec/qemu-kvm.bin
- vim /usr/libexec/qemu-kvm 新写一个脚本,在正常情况下,直接调用qemu-kvm.bin,特殊情况下调用指定目录的bin和so文件
由于rpm对一些包不支持 –prefix的操作
所以这里使用cpio的方式解压rpm包到指定目录
1 | rpm2cpio qemu-kvm-ksvd-4.1.0-3.ky3.kb1.x86_64.rpm | cpio -div |
简单编写第一版本代码,在不影响其他人使用的情况下,调试自己的qemu和依赖库代码
后续还可以继续改进,比如根据用户名自动寻找qemu-kvm.user执行,实现多用户分开调试的功能
使用时,需要把自己的qemu-kvm放在对应位置qemu-kvm.${username},依赖库放在/usr/lib/${username}
1 |
|
PS:本来可以用trap命令捕获信号,但是由于上层是用的kill -9 杀的进程
SIGKILL无法捕获,所以放弃该方案,后来查找资料后,使用exec来实现该功能
为了纪念,第一版的代码就不删除了,直接奉献上第二版
可以支持多用户同时调试不互相干扰
1 |
|
- 本文作者: crazyboy
- 本文链接: http://crazyboy.www.crazyboy.info/blog/blog/2022/04/22/it/linux/qemu/qemu-debug/
- 版权声明: 本博客所有文章除特别声明外,均采用 MIT 许可协议。转载请注明出处!