我想要做的是在客户机VM的df <- mtcars %>%
rename(mp2 = mpg) %V%
assign(x = "r", 100, envir = environment()) %>%
mutate(mpg2 = mp2 * r)
mp2 cyl disp hp drat wt qsec vs am gear carb mpg2
1 21.0 6 160.0 110 3.90 2.620 16.46 0 1 4 4 2100
2 21.0 6 160.0 110 3.90 2.875 17.02 0 1 4 4 2100
3 22.8 4 108.0 93 3.85 2.320 18.61 1 1 4 1 2280
4 21.4 6 258.0 110 3.08 3.215 19.44 1 0 3 1 2140
5 18.7 8 360.0 175 3.15 3.440 17.02 0 0 3 2 1870
设备驱动程序上安装一个断点,并查看那里发生了什么。
问题是当我在某些功能(例如virtio-balloon
或virtballoon_migratepage
)上安装断点时,它永远不会触发。
我使用virtio_init
如下创建磁盘映像
sudo debootstrap --include = openssh-server,curl,tar,gcc,libc6-dev,time,strace,sudo,less,psmisc,selinux-utils,policycoreutils,checkpolicy,selinux-policy-default wheezy wheezy >
我使用的QEMU命令是
qemu-system-x86_64 [...] -device virtio-balloon -monitor unix:/tmp/monitor.sock,server,nowait-启用kvm
我的内核配置启用了virtio并禁用了KASLR
#CONFIG_RANDOMIZE_BASE未设置
...
CONFIG_VIRTIO = y
CONFIG_VIRTIO_BALLOON = y
然后,我将debootstrap
附加到QEMU实例并安装了一个断点(gdb
)。我可以看到有一堆virtio代码,看来断点已正确安装。但是我无法通过发送b virtioballoon_migratepage
之类的命令来使用QEMU监视器来触发它。
QEMU监视器的输出如下
(qemu)信息提示框
信息气球
气球:实际= 1024
(qemu)气球65536
气球65536
(qemu)信息提示框
信息气球
气球:actual = 1024
这里有几个问题:
1)如何检查virtio-balloon驱动程序工作正常?
2)如果运行良好,如何控制virtio-balloon驱动程序(通过使用QEMU Monitor,gdb,guest程序或任何其他程序)?
3)如果我做错了,哪一步错了?
4)主机上是否需要任何配置?