Logs
如何理解 qemu ‘-d int’ 標誌輸出?
我可以在哪裡找到文件或解釋如何通過標誌“-d ..”閱讀和理解 qemu 日誌的輸出。
例子
qemu-system-x86_64 -cdrom $(ISO_FILE) -serial stdio -m 1024 -d int " 0: v=03 e=0000 i=1 cpl=0 IP=0008:ffff80000020904e pc=ffff80000020904e SP=0000:ffff800000206ff0 env->regs[R_EAX]=ffff800000209440 RAX=ffff800000209440 RBX=0000000000000800 RCX=0000000080002001 RDX=ffff800000209460 RSI=ffff800000208eeb RDI=ffff8000002096d0 RBP=ffff800000207000 RSP=ffff800000206ff0 R8 =0000000000000000 R9 =0000000000000000 R10=0000000000000000 R11=0000000000000000 R12=0000000000000000 R13=0000000000000000 R14=0000000000000000 R15=0000000000000000 RIP=ffff80000020904e RFL=00000006 [-----P-] CPL=0 II=0 A20=1 SMM=0 HLT=0 ES =0000 0000000000000000 00000000 00000000 CS =0008 0000000000000000 00000000 00209800 DPL=0 CS64 [---] SS =0000 0000000000000000 00000000 00000000 DS =0000 0000000000000000 00000000 00000000 FS =0000 0000000000000000 00000000 00000000 GS =0000 0000000000000000 00000000 00000000 LDT=0000 0000000000000000 0000ffff 00008200 DPL=0 LDT TR =0000 0000000000000000 0000ffff 00008b00 DPL=0 TSS64-busy GDT= 0000000000201000 0000000f IDT= ffff800000209460 00000fff CR0=80000013 CR2=0000000000000000 CR3=0000000000202000 CR4=00000620 DR0=0000000000000000 DR1=0000000000000000 DR2=0000000000000000 DR3=0000000000000000 DR6=00000000ffff0ff0 DR7=0000000000000400 CCS=00000001ffff0000 CCD=00000000ffff8000 CCO=SARQ EFER=0000000000000500 check_exception old: 0xffffffff new 0xe 1: v=0e e=0000 i=0 cpl=0 IP=0008:ffff80000020904e pc=ffff80000020904e SP=0000:ffff800000206ff0 CR2=0000000000201008 RAX=ffff800000209440 RBX=0000000000000800 RCX=0000000080002001 RDX=ffff800000209460 RSI=ffff800000208eeb RDI=ffff8000002096d0 RBP=ffff800000207000 RSP=ffff800000206ff0 R8 =0000000000000000 R9 =0000000000000000 R10=0000000000000000 R11=0000000000000000 R12=0000000000000000 R13=0000000000000000 R14=0000000000000000 R15=0000000000000000 RIP=ffff80000020904e RFL=00000006 [-----P-] CPL=0 II=0 A20=1 SMM=0 HLT=0 ES =0000 0000000000000000 00000000 00000000 CS =0008 0000000000000000 00000000 00209800 DPL=0 CS64 [---] SS =0000 0000000000000000 00000000 00000000 DS =0000 0000000000000000 00000000 00000000 FS =0000 0000000000000000 00000000 00000000 GS =0000 0000000000000000 00000000 00000000 LDT=0000 0000000000000000 0000ffff 00008200 DPL=0 LDT TR =0000 0000000000000000 0000ffff 00008b00 DPL=0 TSS64-busy GDT= 0000000000201000 0000000f IDT= ffff800000209460 00000fff CR0=80000013 CR2=0000000000201008 CR3=0000000000202000 CR4=00000620 DR0=0000000000000000 DR1=0000000000000000 DR2=0000000000000000 DR3=0000000000000000 DR6=00000000ffff0ff0 DR7=0000000000000400 CCS=00000001ffff0000 CCD=00000000ffff8000 CCO=SARQ EFER=0000000000000500"
沒有文件,因為“-d”選項標誌主要用於調試 QEMU 本身(儘管它們可用於深入了解來賓二進製文件正在做什麼)。它們記錄看起來有用和易於記錄的東西,解釋它們需要對客戶架構的細節和 QEMU 本身的內部實現有一定的了解。
在這種情況下,您所擁有的主要是來賓寄存器轉儲,可能在異常發生之前或之後。您需要在 QEMU 來源中四處尋找更多資訊。如果您了解 x86 架構,那麼大部分欄位的含義應該很清楚。