本报告旨在为通过数据线连接到计算机的 Linux 系统设备提供全面的调试指南。当图形界面不可用、系统无法启动或需要进行底层诊断时,通过物理数据线(通常是 USB)进行连接和调试至关重要。本报告将涵盖两种主要的连接方法:串行控制台访问和通过 USB 的网络连接。此外,报告还将介绍在建立连接后可用于诊断和解决问题的基础及高级 Linux 调试技术,并提供针对特定流行设备(如树莓派和 BeagleBone Black)的配置示例。最终目标是提供一个结构清晰、信息详实的指南,帮助用户有效地识别连接、建立通信并运用适当的工具来调试目标 Linux 系统。
第 1 节:建立连接
成功调试的第一步是建立计算机与目标 Linux 设备之间的可靠通信链路。这通常涉及物理连接(使用合适的线缆)和在主机和目标设备上进行软件配置。本节将详细介绍如何识别连接的设备,并探讨两种主要的连接方法:串行控制台和 USB 网络。
1.1. 识别设备
在尝试连接之前,必须首先识别 Linux 设备在主机操作系统上是如何被识别的。这取决于设备本身的功能(它是否模拟串行端口、网络适配器或其他设备)以及主机操作系统。
在 Windows 上识别设备:
Windows 系统通常通过设备管理器来识别和管理硬件。
打开设备管理器: 可以通过右键单击“开始”按钮并选择“设备管理器”,或者按 Win+R 键,输入 devmgmt.msc 并按 Enter 键来打开 1。
查找串行端口 (COM & LPT):
如果 Linux 设备通过 USB 转串口适配器连接,或者其 USB 接口模拟了一个串行端口,它通常会出现在“端口 (COM & LPT)”类别下 2。展开此类别,您将看到列出的 COM 端口及其编号,例如 USB Serial Port (COM5) 3。
记下分配的 COM 端口号(例如 COM5),因为在配置串行终端软件(如 PuTTY)时需要用到它 5。
如果“端口 (COM & LPT)”部分不存在或您的设备未列出,可能表示缺少驱动程序 3。您需要为 USB 转串口适配器或 Linux 设备的 USB 接口安装正确的驱动程序。驱动程序通常由适配器或设备制造商提供。
有时,设备可能被隐藏。在设备管理器中,可以尝试点击“查看”菜单并选择“显示隐藏的设备” 1。
查找网络适配器 (USB Ethernet):
如果 Linux 设备配置为 USB 网络设备(例如,使用 RNDIS 或 CDC Ethernet Gadget 模式),它将出现在“网络适配器”类别下 8。
您可以使用 ipconfig /all 命令在命令行中查看网络适配器的详细信息,包括其描述和 IP 配置(如果已配置) 8。
使用 USBView (可选):
USBView (usbview.exe) 是 Windows SDK 中包含的一个工具,可以显示连接到计算机的所有 USB 控制器和设备,提供更底层的 USB 信息,如设备描述符 1。这对于识别未正确安装驱动程序的设备或了解其 USB 属性可能很有用。但请注意,它是一个较旧的应用程序,可能无法显示最新的 USB 信息 1。
在 Linux 上识别设备:
Linux 提供了多种命令行工具来识别连接的 USB 设备。
lsusb:
此命令列出所有 USB 总线和连接的设备,显示其 Vendor ID 和 Product ID(例如 ID 346d:5678)以及设备描述 12。
一个重要的考虑因素是设备名称的稳定性。在 Windows 上,将 USB 转串口适配器插入不同的 USB 端口可能会导致系统分配不同的 COM 端口号 3。同样,在 Linux 上,ttyUSB0, ttyUSB1 等名称的分配顺序可能取决于设备枚举的顺序,这意味着同一个设备在不同次连接时可能会获得不同的名称。对于 USB Ethernet Gadget,如果设备在每次连接时生成随机的 MAC 地址,主机系统可能会将其识别为一个全新的网络接口,导致之前的网络配置(如静态 IP)失效 33。
Windows: 在设备管理器中,可以为特定的 USB 转串口设备手动分配一个固定的 COM 端口号(在设备属性的“端口设置” -> “高级”中) 3。
Linux (Serial): 优先使用 /dev/serial/by-id/ 或 /dev/serial/by-path/ 下的符号链接(如果存在),因为它们基于设备的唯一属性或物理连接路径,通常是持久的 20。如果这些链接不存在,可以编写自定义的 udev 规则来为特定设备创建固定的符号链接。
Linux (USB Ethernet): 在配置 USB Ethernet Gadget 时(例如使用 g_ether 模块),明确指定固定的 MAC 地址(dev_addr 和 host_addr 参数) 23。这可以确保主机系统始终将该设备识别为同一个网络接口,从而使静态 IP 配置等设置保持有效。
1.2. 方法 1:通过串行控制台访问
串行控制台提供了一种直接、低级别的文本接口,用于与 Linux 设备进行通信。它通常在网络连接不可用、系统引导期间或需要进行底层调试时使用 35。
除了串行控制台,许多 Linux 设备可以通过 USB 数据线模拟一个网络接口,允许主机使用标准的网络协议(如 SSH, SCP, HTTP)与其通信。这种模式通常称为 USB Ethernet Gadget 模式 23。
概念:
当 Linux 设备启用 USB Ethernet Gadget 功能时(例如,通过加载 g_ether 内核模块 23),它会向通过 USB 连接的主机呈现为一个虚拟的网络适配器。主机操作系统会将其识别为一个标准的以太网接口(尽管是通过 USB 连接的),并为其分配一个网络接口名称(例如 Windows 上的 “USB Ethernet/RNDIS Gadget” 10 或 Linux 上的 usb0 23)。一旦主机和设备都在这个虚拟的 USB 网络链路上配置了兼容的 IP 地址,它们就可以像在普通以太网中一样进行通信,从而可以使用 SSH 进行远程登录、使用 SCP/SFTP 传输文件等 23。
驱动安装 (Windows): Windows 可能需要安装特定的驱动程序才能识别 Linux 设备模拟的网络适配器,特别是 RNDIS 设备 23。这些驱动有时包含在设备提供的虚拟 U 盘中(如 BeagleBone Black 53),或者需要从设备制造商或芯片供应商处下载。安装后,设备应出现在设备管理器的“网络适配器”下 9。
接口配置: 主机需要为其端的 USB 网络接口配置一个 IP 地址,该地址必须与设备端的 IP 地址位于同一子网内,但地址本身不能冲突 23。
Windows: 通过“网络连接”(或“网络和共享中心” -> “更改适配器设置”)找到对应的 USB 网络适配器,右键单击选择“属性”,然后配置 TCP/IPv4 设置,为其分配一个静态 IP 地址(例如 192.168.7.1)和子网掩码(例如 255.255.255.0) 8。
Linux: 使用 ip 或 ifconfig 命令为在主机上识别出的对应接口(可能是 usb0 或其他名称 29)配置 IP 地址和子网掩码,并启用接口。 Bash # 例如,如果主机接口是 enp0s26u1u1 sudo ip addr add 192.168.7.1/24 dev enp0s26u1u1 sudo ip link set enp0s26u1u1 up 23。
启用后,树莓派会作为串行设备出现在主机上(例如 Linux 上的 /dev/ttyGS0 103 或 Windows 上的一个 COM 端口)。
然后可以使用终端仿真器像连接普通 USB 转串口适配器一样连接到这个虚拟串口。
4.2. BeagleBone Black (BBB)
BeagleBone Black 是一款流行的开源硬件平台,其设计考虑了易于通过 USB 进行连接和调试。
USB 客户端连接 (默认模式):
硬件: 使用包装盒中附带的 Mini USB 转 USB A 线缆,将 BBB 上的 Mini USB 客户端端口(靠近 SD 卡槽)连接到主机的 USB 端口 53。BBB 可以通过此 USB 连接供电 53。
功能: 当 BBB 启动后(启动过程约 10-15 秒,USER LED 会闪烁 53),它会通过此 USB 连接向主机呈现两个功能:
USB 大容量存储设备: 主机会看到一个名为 “BeagleBone Getting Started” 或类似的 U 盘。这个虚拟 U 盘包含了适用于 Windows 和 macOS 的网络驱动程序以及文档(如 start.htm,包含快速入门指南) 53。
USB 网络适配器 (RNDIS/CDC Ethernet): BBB 会模拟一个网络适配器 53。
网络访问:
驱动: Windows 主机通常需要安装 U 盘中提供的 RNDIS 驱动程序才能识别网络适配器。Linux 和 macOS 通常内置了 CDC Ethernet 驱动,无需额外安装。
IP 地址: BBB 上的 Linux 系统默认配置为在此 USB 网络接口上使用一个固定的 IP 地址。根据 Debian 镜像版本的不同,这个地址通常是 192.168.7.2 或 192.168.6.2 54。主机需要配置其对应的 USB 网络接口(安装驱动后出现)使用同一子网的 IP 地址(例如 192.168.7.1 或 192.168.6.1)。
访问: 配置好网络后,可以通过 SSH 连接到 BBB (ssh [email protected],默认用户名通常是 debian,密码可能是 temppwd 或空),或者通过 Web 浏览器访问 BBB 上运行的 Web 服务,例如 Cloud9 IDE 或 VS Code (通常在 http://192.168.7.2:3000 或 http://192.168.6.2:3000) 54。
最后,报告通过树莓派和 BeagleBone Black 的具体示例,将理论知识应用于实践,并提供了常见连接问题的排查指南和选择调试方法的建议。
总之,有效地通过数据线调试 Linux 设备需要结合对连接方式的理解、对设备识别和配置的细致操作,以及对 Linux 提供的丰富调试工具集的熟练运用。采取系统化的方法,从基础检查入手,逐步深入,并善用文档资源,是成功诊断和解决问题的关键。
Works cited
Universal Serial Bus Viewer in Windows - Windows drivers | Microsoft Learn, accessed April 22, 2025, https://learn.microsoft.com/en-us/windows-hardware/drivers/debugger/usbview
Check Your COM Port on Windows 10, accessed April 22, 2025, https://www.virtual-serial-port.org/articles/com-port-on-windows-10/
Identify your device’s COM Port with Device Manager – TAL …, accessed April 22, 2025, https://www.taltech.com/support/identify-com-port/
How to Fix When Windows Cannot Detect USB Device - StarTech.com, accessed April 22, 2025, https://www.startech.com/en-us/faq/windows-cannot-detect-usb-device
PuTTY Setup • ECEn 220: Fundamentals of Digital Systems, accessed April 22, 2025, https://ecen220wiki.groups.et.byu.net/tutorials/other/01_putty_setup/
A Comprehensive Guide to Choose the Right USB to Serial Cable - VCOM International Ltd, accessed April 22, 2025, https://www.vcom.com.hk/shows/169/445.html
How to identify Com Ports in Windows10 - Microsoft Community, accessed April 22, 2025, https://answers.microsoft.com/en-us/windows/forum/all/how-to-identify-com-ports-in-windows10/2591ed8b-805e-4e66-9513-836cdd49ed80
How to find the network device name and download the driver - Windows - Lenovo Support, accessed April 22, 2025, https://support.lenovo.com/gt/en/solutions/ht078107-how-to-find-and-download-network-driver-windows
How do I find my Ethernet cable in device manager - Microsoft Community, accessed April 22, 2025, https://answers.microsoft.com/en-us/windows/forum/all/how-do-i-find-my-ethernet-cable-in-device-manager/50d099f2-1706-407e-a01c-58cc178f10fe
ipconfig - Get all the connected USB device’s IP address - Super User, accessed April 22, 2025, https://superuser.com/questions/453536/ipconfig-get-all-the-connected-usb-devices-ip-address
Tips on How to Find the IP Address Assigned to Your Ethernet …, accessed April 22, 2025, https://docs.ceruleansonar.com/c/tracker-650/communicating-with-the-tracker-650/tips-on-how-to-find-the-ip-address-assigned-to-your-ethernet-adapter
How to Check Whether a USB Device Is Present on a Linux Machine …, accessed April 22, 2025, https://www.baeldung.com/linux/check-for-usb-devices
Introduction to Basic Troubleshooting Terminal Commands in Ubuntu Linux | Dell Thailand, accessed April 22, 2025, https://www.dell.com/support/kbdoc/en-th/000123974/introduction-to-basic-troubleshooting-commands-within-ubuntu-linux
www.serial-over-ethernet.com, accessed April 22, 2025, https://www.serial-over-ethernet.com/linux-serial-port/#:~:text=to%20Ethernet%20Connector-,Checking%20Your%20Ports,the%20output%20of%20this%20command.&text=The%20devices%20will%20be%20listed%20along%20with%20their%20corresponding%20device%20file%20names.
Linux Serial Port Guide - Serial over Ethernet, accessed April 22, 2025, https://www.serial-over-ethernet.com/linux-serial-port/
Linux dmesg Command: Syntax, Options, Examples - phoenixNAP, accessed April 22, 2025, https://phoenixnap.com/kb/dmesg-linux
Linux Dmesg command explained - Cloudfanatic, accessed April 22, 2025, https://my.cloudfanatic.net/index.php/knowledgebase/87/Linux-Dmesg-command-explained.html?language=french
Dmesg and Linux kernel log - stm32mpu - ST wiki, accessed April 22, 2025, https://wiki.st.com/stm32mpu/wiki/Dmesg_and_Linux_kernel_log
How to View Kernel Messages in Linux | dmesg Command - GeeksforGeeks, accessed April 22, 2025, https://www.geeksforgeeks.org/how-to-use-the-dmesg-command-on-linux/
How to find all serial devices (ttyS, ttyUSB, …) on Linux without opening them?, accessed April 22, 2025, https://stackoverflow.com/questions/2530096/how-to-find-all-serial-devices-ttys-ttyusb-on-linux-without-opening-them
How to find my serial port number - MarineTraffic, accessed April 22, 2025, https://support.marinetraffic.com/en/articles/9552959-how-to-find-my-serial-port-number
How to List Serial Ports on Linux - Dracula Servers Tutorials, accessed April 22, 2025, https://draculaservers.com/tutorials/list-serial-ports-on-linux/
How to Use USB Gadget Ethernet | Timesys LinuxLink, accessed April 22, 2025, https://linuxlink.timesys.com/docs/wiki/engineering/HOWTO_Use_USB_Gadget_Ethernet
How can I find the USB wireless adapter into the dmesg log file? - Super User, accessed April 22, 2025, https://superuser.com/questions/760449/how-can-i-find-the-usb-wireless-adapter-into-the-dmesg-log-file
Linux networking: ifconfig versus ip - Red Hat, accessed April 22, 2025, https://www.redhat.com/en/blog/ifconfig-vs-ip
Linux Basics: Network Configuration and Troubleshooting using ifconfig ip - PureVoltage, accessed April 22, 2025, https://purevoltage.com/2023/10/05/linux-basics-network-configuration-and-troubleshooting-using-ifconfig-ip-netstat/
7 Examples of ip addr Command in Linux - Greenwebpage Community, accessed April 22, 2025, https://greenwebpage.com/community/7-examples-of-ip-addr-command-in-linux/
ifconfig Command | GeeksforGeeks, accessed April 22, 2025, https://www.geeksforgeeks.org/ifconfig-command-in-linux-with-examples/
Raspberry Pi Console over USB: Configuring an Ethernet Gadget (Shallow Thoughts), accessed April 22, 2025, https://shallowsky.com/blog/linux/raspberry-pi-ethernet-gadget.html
[Solved] Connecting to Raspberry Pi Zero using USB ethernet and Avahi / Networking, Server, and Protection / Arch Linux Forums, accessed April 22, 2025, https://bbs.archlinux.org/viewtopic.php?id=213926
get the IP address of USB device in Linux - Super User, accessed April 22, 2025, https://superuser.com/questions/894684/get-the-ip-address-of-usb-device-in-linux
STICKY: USB Ethernet Gadget A Beginner’s Guide - Page 2 - Raspberry Pi Forums, accessed April 22, 2025, https://forums.raspberrypi.com/viewtopic.php?t=306121&start=25
How to config USB ethernet to have a static IP? - Ask Ubuntu, accessed April 22, 2025, https://askubuntu.com/questions/717671/how-to-config-usb-ethernet-to-have-a-static-ip
Need Help Improving Zero USB Ethernet Gadget setup / HOWTO - Raspberry Pi Forums, accessed April 22, 2025, https://forums.raspberrypi.com/viewtopic.php?t=168285
Serial debugging/Cable schematics - postmarketOS Wiki, accessed April 22, 2025, https://wiki.postmarketos.org/wiki/Serial_debugging/Cable_schematics
Unlocking Serial Connectivity on Linux: A Comprehensive Guide - DEV Community, accessed April 22, 2025, https://dev.to/s3cloudhub/unlocking-serial-connectivity-on-linux-a-comprehensive-guide-25n3
Raspberry Pi - Serial Console : 4 Steps (with Pictures) - Instructables, accessed April 22, 2025, https://www.instructables.com/Raspberry-Pi-Serial-Console/
Attaching to a Raspberry Pi’s Serial Console (UART) for debugging | Jeff Geerling, accessed April 22, 2025, https://www.jeffgeerling.com/blog/2021/attaching-raspberry-pis-serial-console-uart-debugging
BeagleBone AI (BB-AI) - Getting Started - element14 Community, accessed April 22, 2025, https://community.element14.com/products/devtools/single-board-computers/next-genbeaglebone/b/blog/posts/beaglebone-ai-bb-ai—getting-started
Serial Terminal - Headless Raspberry Pi Setup - SparkFun Learn, accessed April 22, 2025, https://learn.sparkfun.com/tutorials/headless-raspberry-pi-setup/serial-terminal
Connectors - BeagleBoard Documentation, accessed April 22, 2025, https://docs.beagleboard.org/boards/beaglebone/black/ch07.html
USB 3.0 Super-Speed A/A Debugging Cable - DataPro International, accessed April 22, 2025, https://www.datapro.net/products/usb-3-0-super-speed-a-a-debugging-cable.html
How to Connect to USB Console by Using PuTTY? - Instructables, accessed April 22, 2025, https://www.instructables.com/How-to-Connect-to-USB-Console-by-Using-PuTTY/
PuTTY Tutorial for Serial COM (step-by-step guide) - YouTube, accessed April 22, 2025, https://www.youtube.com/watch?v=dO-BMOzNKcI
Linux minicom Command with Practical Examples | LabEx, accessed April 22, 2025, https://labex.io/tutorials/linux-linux-minicom-command-with-practical-examples-422802
Minicom Setup for Linux PCs, accessed April 22, 2025, https://microchip.my.site.com/s/article/Minicom-Setup-for-Linux-PCs
Serial Port Programming Part 1 - Setting Baud Rate - Embedded Guru, accessed April 22, 2025, http://embeddedguruji.blogspot.com/2019/01/serial-port-programming-part-1-setting.html
Configuring Serial Port on Linux - Baeldung, accessed April 22, 2025, https://www.baeldung.com/linux/serial-port-configuration
Connecting to a Linux device with SSH - UMH Learning Center, accessed April 22, 2025, https://learn.umh.app/course/connecting-with-ssh/
How to Connect to a Remote Server via SSH from Windows, Linux …, accessed April 22, 2025, https://phoenixnap.com/kb/ssh-to-connect-to-remote-server-linux-or-windows
How to use SSH to connect to a remote server in Linux | ssh Command - GeeksforGeeks, accessed April 22, 2025, https://www.geeksforgeeks.org/ssh-command-in-linux-with-examples/
How to set up autoip with local-link (RNDIS) on linux and embedded linux - Stack Overflow, accessed April 22, 2025, https://stackoverflow.com/questions/20149645/how-to-set-up-autoip-with-local-link-rndis-on-linux-and-embedded-linux
Connecting Up Your BeagleBone Black - BeagleBoard Documentation, accessed April 22, 2025, https://docs.beagleboard.org/latest/boards/beaglebone/black/ch03.html
Basics - BeagleBoard Documentation, accessed April 22, 2025, https://docs.beagleboard.org/books/beaglebone-cookbook/01basics/basics.html
Routing zeroconf interfaces - Unix & Linux Stack Exchange, accessed April 22, 2025, https://unix.stackexchange.com/questions/549937/routing-zeroconf-interfaces
Link-local (zeroconf) networking with multiple hosts/interfaces - Super User, accessed April 22, 2025, https://superuser.com/questions/904091/link-local-zeroconf-networking-with-multiple-hosts-interfaces
Guide to Network Troubleshooting in Linux - LinuxBlog.io, accessed April 22, 2025, https://linuxblog.io/guide-to-network-troubleshooting-in-linux/
Ping command basics for testing and troubleshooting - Red Hat, accessed April 22, 2025, https://www.redhat.com/en/blog/ping-usage-basics
Linux ping Command with Examples | phoenixNAP KB, accessed April 22, 2025, https://phoenixnap.com/kb/linux-ping-command-examples
How to Check If SSH Server Is Running on Linux? A Complete Guide - Bdwebit, accessed April 22, 2025, https://bdwebit.com/blog/how-to-check-if-ssh-server-is-running-on-linux/
How to Enable SSH on Ubuntu 20.04 LTS - Linode, accessed April 22, 2025, https://www.linode.com/docs/guides/enable-ssh-ubuntu/
How to check if SSH service is up and running in Servers - ManageEngine Pitstop, accessed April 22, 2025, https://pitstop.manageengine.com/portal/en/kb/articles/how-to-check-ssh-service-is-up-and-running-in-servers
Identify Your Intel® Ethernet Controller from the Device Manager, accessed April 22, 2025, https://www.intel.com/content/www/us/en/support/articles/000024969/ethernet-products/legacy-ethernet-products.html
How to Check Running Processes in Linux Using ps, top, htop, and atop Commands, accessed April 22, 2025, https://runcloud.io/blog/running-processes-in-linux
What is the difference between ps and top command? - Unix & Linux Stack Exchange, accessed April 22, 2025, https://unix.stackexchange.com/questions/62176/what-is-the-difference-between-ps-and-top-command
process monitors for Linux - comparing top and htop - YouTube, accessed April 22, 2025, https://www.youtube.com/watch?v=CAUc8aq4qtU
Log Management with Journalctl: A SysAdmin’s Guide | Better Stack Community, accessed April 22, 2025, https://betterstack.com/community/guides/logging/how-to-control-journald-with-journalctl/
Linux Logs: How to View, Read & Configure - phoenixNAP, accessed April 22, 2025, https://phoenixnap.com/kb/how-to-view-read-linux-log-files
Understanding Linux Log File Locations: A Comprehensive Guide | Siberoloji, accessed April 22, 2025, https://www.siberoloji.com/understanding-linux-log-file-locations-a-comprehensive-guide/
How To Use journalctl to View and Manipulate Systemd Logs - Rackspace Technology, accessed April 22, 2025, https://docs.rackspace.com/docs/how-to-use-journalctl-to-view-and-manipulate-systemd-logs
journalctl Commands Cheatsheet for Troubleshooting - Last9, accessed April 22, 2025, https://last9.io/blog/journalctl-commands-cheatsheet/
systemd’s journalctl: how to filter by message? - Server Fault, accessed April 22, 2025, https://serverfault.com/questions/754953/systemds-journalctl-how-to-filter-by-message
Linux Logging Guide: The Basics - CrowdStrike, accessed April 22, 2025, https://www.crowdstrike.com/en-us/guides/linux-logging/
How To View and Configure Linux Logs on Ubuntu, Debian, and CentOS | DigitalOcean, accessed April 22, 2025, https://www.digitalocean.com/community/tutorials/how-to-view-and-configure-linux-logs-on-ubuntu-debian-and-centos
Linux strace Command with Practical Examples - LabEx, accessed April 22, 2025, https://labex.io/tutorials/linux-linux-strace-command-with-practical-examples-422933
Strace command in Linux with Examples | GeeksforGeeks, accessed April 22, 2025, https://www.geeksforgeeks.org/strace-command-in-linux-with-examples/
How is Linux kernel live debugging done and what tools are used? - Stack Overflow, accessed April 22, 2025, https://stackoverflow.com/questions/4943857/how-is-linux-kernel-live-debugging-done-and-what-tools-are-used
How to better understand and reverse-engineer system calls within processes given a specific example, accessed April 22, 2025, https://unix.stackexchange.com/questions/788796/how-to-better-understand-and-reverse-engineer-system-calls-within-processes-give
Attaching strace to 100% CPU Apache process - output - Server Fault, accessed April 22, 2025, https://serverfault.com/questions/330844/attaching-strace-to-100-cpu-apache-process-output
How does strace connect to an already running process? - Stack Overflow, accessed April 22, 2025, https://stackoverflow.com/questions/7482076/how-does-strace-connect-to-an-already-running-process
How to strace all write calls (to stdout/stderr) from all child processes inside a docker container? - Unix & Linux Stack Exchange, accessed April 22, 2025, https://unix.stackexchange.com/questions/419997/how-to-strace-all-write-calls-to-stdout-stderr-from-all-child-processes-inside
Track Child Processes Using strace | Baeldung on Linux, accessed April 22, 2025, https://www.baeldung.com/linux/strace-track-child-processes
Using Strace to Trace Linux Syscalls - YouTube, accessed April 22, 2025, https://www.youtube.com/watch?v=mBfurelWwPQ&pp=0gcJCdgAo7VqN5tD
Pass and access request response object in child process using fork - Stack Overflow, accessed April 22, 2025, https://stackoverflow.com/questions/35716675/pass-and-access-request-response-object-in-child-process-using-fork
Debugging hanging child process with strace - LinuxQuestions.org, accessed April 22, 2025, https://www.linuxquestions.org/questions/linux-software-2/debugging-hanging-child-process-with-strace-884752/
Processes, forks and executions - part 2 - CFEngine, accessed April 22, 2025, https://cfengine.com/blog/2022/processes-part-2/
Lab 4: Tracing System Calls, accessed April 22, 2025, https://www.cs.usfca.edu/~mmalensek/cs326/assignments/lab4.html
Running strace in the background - linux - Stack Overflow, accessed April 22, 2025, https://stackoverflow.com/questions/51244646/running-strace-in-the-background
GDB Tutorial, accessed April 22, 2025, https://web.eecs.umich.edu/~sugih/pointers/summary.html
GDB (Step by Step Introduction) - GeeksforGeeks, accessed April 22, 2025, https://www.geeksforgeeks.org/gdb-step-by-step-introduction/
Tutorial of gcc and gdb, accessed April 22, 2025, https://cseweb.ucsd.edu/classes/fa09/cse141/tutorial_gcc_gdb.html
How to debug C++ Programs using GDB (GNU Debugger) in Linux - YouTube, accessed April 22, 2025, https://m.youtube.com/watch?v=jc_uzRWSrvw&pp=ygUMI2dkYmNvbXBpbGVy
Using kgdb, kdb and the kernel debugger internals, accessed April 22, 2025, https://www.kernel.org/doc/html/v4.14/dev-tools/kgdb.html
How to use KGDB | Timesys LinuxLink, accessed April 22, 2025, https://linuxlink.timesys.com/docs/how_to_use_kgdb
ftrace - Function Tracer — The Linux Kernel documentation, accessed April 22, 2025, https://www.kernel.org/doc/html/v5.0/trace/ftrace.html
Ftrace - stm32mpu - ST wiki, accessed April 22, 2025, https://wiki.st.com/stm32mpu/wiki/Ftrace
Appendix B. Detailed Description of Ftrace | Red Hat Product Documentation, accessed April 22, 2025, https://docs.redhat.com/en/documentation/red_hat_enterprise_linux_for_real_time/7/html/tuning_guide/appe-detailed_description_of_ftrace
Introduction to kernel tracing with ftrace - devkernel.io, accessed April 22, 2025, https://devkernel.io/posts/ftrace_intro/
Linux Tracing Technologies - The Linux Kernel documentation, accessed April 22, 2025, https://docs.kernel.org/trace/index.html
Use ftrace | Android Open Source Project, accessed April 22, 2025, https://source.android.com/docs/core/tests/debug/ftrace
Debugging — The Linux Kernel documentation, accessed April 22, 2025, https://linux-kernel-labs.github.io/refs/heads/master/lectures/debugging.html
Setting up serial console on a new image - Raspberry Pi Forums, accessed April 22, 2025, https://forums.raspberrypi.com/viewtopic.php?t=339660
Raspberry Pi - Void Linux Handbook, accessed April 22, 2025, https://docs.voidlinux.org/installation/guides/arm-devices/raspberry-pi.html
6.2.8. Flashing eMMC on BeagleBone Black via SD Card - Texas Instruments, accessed April 22, 2025, https://software-dl.ti.com/processor-sdk-linux/esd/docs/latest/linux/How_to_Guides/Target/How_to_Program_Beaglebone_Black_eMMC_via_SD_Card.html
BeagleBone Black - BeagleBoard Documentation, accessed April 22, 2025, https://docs.beagleboard.org/latest/boards/beaglebone/black/
Mark Roberge是HubSpot的首席财务官,在招聘销售职位时使用了大量数据分析。但是科技并没有挤走直觉。
大家都知道数理学家实际上已经渗透到了各行各业。这些热衷数据的人们通过处理数据理解商业流程的各个方面,以重组弱点,增强优势。
Mark Roberge是美国HubSpot公司的首席财务官,HubSpot公司在构架集客营销现象方面出过一份力——因此他也是一位数理学家。他使用数据分析
@echo off
: host=服务器证书域名或ip,需要和部署时服务器的域名或ip一致 ou=公司名称, o=公司名称
set host=localhost
set ou=localhost
set o=localhost
set password=123456
set validity=3650
set salias=s