从虚拟化前端Bug学习分析Kernel Dump( 六 )
现在来看看 ffffffffc023a382+1186 这行代码到底是什么 , 通过 dis 命令可以查看到对应的汇编 。 但当我们执行dis virtqueue_add+1186
的时候 , 发现报错了 , 报错的内容是 symbol 有重复 。
我们可以通过 RIP 的值来计算出当前的 virtqueue_add 对应的是哪个 symbol , 计算方法很简单 , 只要把 RIP 的值减去偏移量 1186 即可 。
crash> p/x 0xffffffffc023a382-1186
$1 = 0xffffffffc0239ee0
通过 dis ffffffffc0239ee0
可以打印出 virtqueue_add 的汇编 , 找到 virtqueue_add+1186
该行汇编实际上是 ud2 , 这是一条 undefined 的语句 , 也正是因为这条语句让系统宕机了 。 这个时候通常应该往上找 , 看看之前执行过的指令是什么 。 这里上一条指令是 jmpq , 这是无条件跳转语句 , 跳转到 virtqueue_add+953 , 也就是说 ud2 指令的上一条指令一定不是 jmpq 这条 , 可以猜到应该是前面有某个跳转直接跳到这里来了 , 往上找找就可以找到
推荐阅读
- 仙剑2|经典游戏《仙剑2》苏媚的梦蛇才是最大BUG,效果叠加一招带走千叶
- 女孩|第五人格:小女孩堪称“BUG女王”,用她对战,你千万要小心!
- 炉石传说|炉石天梯平衡补丁曝光,任务法锁喉贼惨遭大削,BUG德无了!
- 精灵宝可梦|《宝可梦BDSP》偷跑,玩家发现游戏存在大量bug
- 谛听|梦幻西游:又出新BUG了,同一个角色能在两个客户端上同时登陆
- 集合啦动物之森|《集合啦动物之森》新增9千多个物品! DLC有BUG
- 炉石传说|玩游戏还是玩Bug?炉石新版本更出一堆BUG,玩家:暴雪毁灭吧!
- 炉石传说|炉石传说标准战士胜率第一,天梯开始硬碰硬,而bug是永恒的主题
- 磨刀石|魔兽怀旧服:美服盗贼新技巧!磨刀石BUG常驻300攻强,别上毒药了
- 李延年|米哈游进军Steam第一枪哑火!蓝屏、限服加BUG,崩坏3好评率仅13%