gpt4 book ai didi

macos - 通过网络设置两机内核调试

转载 作者:行者123 更新时间:2023-12-01 09:37:17 25 4
gpt4 key购买 nike

我想检查调试在远程物理机上安装的内核驱动程序的选项(因为我没有火线电缆)。阅读相关文档,我没有看到有关远程物理调试介质的任何限制,因此我推断火线电缆和无线网络上的 ip 都应该可以工作。

我以为 lldb 远程连接使用 kdp-remote <machine-ip>会做的伎俩,但我没有得到任何回应。

然而,从远程虚拟机,即使虚拟机可以位于远程物理机上,它也会成功。

我的引导参数配置是 keepsyms=1 debug=0x144 -v

最佳答案

我们在评论中发现了问题(下面的第 2 项),但是为了后代,这里列出了一些检查 xnu 内核调试是否不起作用的事项:

  • 目标机器必须具有通过 PCIe 或 Thunderbolt 连接的物理以太网端口,或者您必须使用直接火线连接(可选通过 Thunderbolt)。 USB 到以太网适配器将无法在目标端工作。客户端机器不那么挑剔,您可以在那里使用 wifi 或 USB 以太网。
  • 该协议(protocol)使用 UDP,而不是 TCP。您是否在 lldb 机器上运行了可能阻止 UDP 数据包的防火墙? (您可以尝试在机器未崩溃时使用 nc (netcat) 工具从目标向客户端发送 udp 数据包。)
  • 客户端机器上的 ARP 条目是否正确? arp <target ip>应该产生目标接口(interface)的 MAC 地址。
  • 崩溃的 Mac 不会响应 ping,只会通过 UDP 响应 KDP 数据包。所以没有得到 ping 并不意味着什么。
  • 据我所知,机器在崩溃时不会请求新的 DHCP 租约,所以这不应该是问题,但您始终可以尝试设置静态 IP 地址以确保安全。
  • 设置 boot-args 后是否重新启动? ?它们仅在新启动时生效。
  • 如果 SIP 处于事件状态,您只能设置 nvram从 OS X/macOS 10.11 开始的恢复环境中的变量。您可以运行 nvram boot-args验证设置是否卡住。

  • 我个人的建议是尽可能使用 FireWire 进行内核调试,这在我的经验中似乎是最快和最可靠的。

    关于macos - 通过网络设置两机内核调试,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/50228104/

    25 4 0
    Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
    广告合作:1813099741@qq.com 6ren.com