V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
Recommended Services
Amazon Web Services
LeanCloud
New Relic
ClearDB
kakyoin
V2EX  ›  云计算

请问 KVM-QEMU 中当虚拟机 insmod 某个 ko 的时候直接死机,如何进行调试?

  •  
  •   kakyoin · 2021-09-22 14:40:28 +08:00 · 3593 次点击
    这是一个创建于 1156 天前的主题,其中的信息可能已经有所发展或是发生改变。

    如题,虚拟机 insmod 某个 ko 的时候直接死机,ko 在物理机的时候是正常使用的 看不到 bug...一点问题都没有,希望有大佬能帮帮我 谢谢大家

    9 条回复    2021-09-23 10:38:26 +08:00
    kakyoin
        1
    kakyoin  
    OP
       2021-09-22 14:41:11 +08:00
    看不到 bug,一点修的思路都没有...顶顶~
    westoy
        2
    westoy  
       2021-09-22 14:44:30 +08:00
    虚拟机里 dmesg 和 syslog 都没错误提示么?
    wzxlovesy
        3
    wzxlovesy  
       2021-09-22 16:08:22 +08:00 via Android
    先看看 KVM 相关的 Log,说不定有有用的信息。如果是 QEMU 闪退,那有可能是什么指令执行错了;如果是 QEMU 宕机没闪退,那尝试用 QEMU 内置的 Monitor Console 看看代码执行到了哪里,卡在哪个内存位置,然后 disassemble 那个位置的代码看看是啥。当然如果能修改 ko 对应的代码的话,print debug 试试。当然还有个猜测是,如果你在宿主机编制了 ko,复制到 QEMU 里运行的话,可能有些编译出来的指令不支持,试试在 QEMU 内部重新编译一下。
    lilogo
        4
    lilogo  
       2021-09-22 17:57:14 +08:00
    关于指令不支持这个最近也刚踩过坑,建议可以先看下 VM 内 CPU 指令集。
    liuweisj
        5
    liuweisj  
       2021-09-22 18:09:38 +08:00
    给 vm 加个串口,从 console 会有 log 打印出来
    feather12315
        6
    feather12315  
       2021-09-22 18:45:50 +08:00 via Android
    启用 kdump
    wzxlovesy
        7
    wzxlovesy  
       2021-09-23 04:28:04 +08:00 via Android
    @lilogo 我最近踩过另一个深坑是 code segment 错误,导致发生中断时 QEMU 直接崩溃,当时调了很久的 interrupt handler 死活找不到问题……
    kakyoin
        8
    kakyoin  
    OP
       2021-09-23 10:37:58 +08:00
    @westoy 应该有,但是 insmod 某个 ko,虚拟机直接卡死,就进不去了,之前用 ssh 可以看到一点,但是后面还是卡住了
    kakyoin
        9
    kakyoin  
    OP
       2021-09-23 10:38:26 +08:00
    @wzxlovesy 好的!谢谢前辈,我去试试
    关于   ·   帮助文档   ·   博客   ·   API   ·   FAQ   ·   实用小工具   ·   1001 人在线   最高记录 6679   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 25ms · UTC 20:16 · PVG 04:16 · LAX 12:16 · JFK 15:16
    Developed with CodeLauncher
    ♥ Do have faith in what you're doing.