Daniel Berrange shared the following techniques on IRC a while back. It is actually pretty easy to get at the QEMU monitor even while libvirt is managing the VM:
Method 1: virsh qemu-monitor-command
There is a virsh command available in libvirt ≥0.8.8 that allows you to access the QEMU monitor through virsh:
virsh qemu-monitor-command --hmp <domain> '<command> [...]'
Method 2: Connecting directly to the monitor socket
On older libvirt versions the only option is shutting down libvirt, using the monitor socket directly, and then restarting libvirt:
sudo service libvirt-bin stop # or "libvirtd" on Red Hat-based distros sudo nc -U /var/lib/libvirt/qemu/<domain>.monitor ... sudo service libvirt-bin start
Either way works fine. I hope this is useful for folks troubleshooting QEMU or KVM. In the future I will post more libvirt tips :).
Update: Daniel Berrange adds that using the QEMU monitor essentially voids your libvirt warranty :). Try to only use query commands like info qtree rather than commands that change the state of QEMU like adding/removing devices.