VSCode+ROS2 Foxy环境配置全攻略:从零开始搭建机器人开发环境(含常见错误解决)
VSCode与ROS2 Foxy打造丝滑机器人开发工作流的深度实践如果你刚开始接触机器人软件开发面对ROS2这个庞大的生态系统可能会感到一丝迷茫。命令行里敲击着colcon build看着终端里滚动的编译信息调试时却只能依赖print语句——这种体验确实不够现代。几年前我也是这样过来的直到我把VSCode和ROS2 Foxy环境深度整合整个开发效率才有了质的飞跃。这篇文章不是一份简单的配置清单而是想和你分享一套经过实战检验的、能真正提升生产力的工作流搭建方法。无论你是机器人专业的学生还是刚转入这个领域的工程师这套环境都能让你更专注于算法和逻辑本身而不是浪费在环境配置和低级调试上。我们将从最基础的安装开始一步步深入到高级调试技巧和效率工具链的配置。你会发现一个精心调校的VSCode环境能让ROS2开发变得像写普通的Python或C项目一样直观。更重要的是我会带你避开那些我踩过的“坑”比如插件冲突、路径配置错误、调试器无法附着等常见问题让你少走弯路。1. 基石ROS2 Foxy与VSCode的精准安装与初始化在开始任何配置之前确保你的基础环境是干净、正确的。ROS2 Foxy虽然已经结束官方支持但其稳定性和丰富的社区资源使其依然是许多教学和遗留项目的首选。我们的目标是在Ubuntu 20.04 LTS上建立一个可复现的、隔离的开发环境。1.1 操作系统与ROS2 Foxy的稳妥部署我强烈建议使用Ubuntu 20.04.6 LTS作为开发主机或虚拟机。不要使用更高版本因为ROS2 Foxy的二进制包是专门为该版本构建的。安装ROS2 Foxy的“桌面完整版”Desktop Full是最省心的选择它包含了ROS、RViz、仿真工具等几乎所有你会用到的包。打开终端按顺序执行以下命令。这里的关键是设置软件源和接受密钥网络环境会影响下载速度请保持稳定连接。# 1. 设置语言环境避免后续出现locale警告 sudo apt update sudo apt install locales sudo locale-gen en_US en_US.UTF-8 sudo update-locale LC_ALLen_US.UTF-8 LANGen_US.UTF-8 export LANGen_US.UTF-8 # 2. 添加ROS2软件源 sudo apt install software-properties-common sudo add-apt-repository universe sudo apt update sudo apt install curl -y sudo curl -sSL https://raw.githubusercontent.com/ros/rosdistro/master/ros.key -o /usr/share/keyrings/ros-archive-keyring.gpg # 3. 将源添加到系统源列表 echo deb [arch$(dpkg --print-architecture) signed-by/usr/share/keyrings/ros-archive-keyring.gpg] http://packages.ros.org/ros2/ubuntu $(. /etc/os-release echo $UBUNTU_CODENAME) main | sudo tee /etc/apt/sources.list.d/ros2.list /dev/null # 4. 安装ROS2 Foxy桌面完整版 sudo apt update sudo apt install ros-foxy-desktop-full # 5. 配置环境变量每次打开新终端都需要 source /opt/ros/foxy/setup.bash echo source /opt/ros/foxy/setup.bash ~/.bashrc注意安装过程可能耗时较长取决于你的网速。如果遇到Hash Sum mismatch等错误通常是网络缓存问题可以尝试更换软件源镜像或稍后重试。安装完成后验证一下核心组件是否就绪。在一个新的终端窗口中运行ros2 run demo_nodes_cpp talker在另一个终端窗口运行ros2 run demo_nodes_py listener如果能看到talker在发布消息listener在接收并打印说明ROS2核心系统工作正常。1.2 VSCode及其核心扩展的选型与安装直接从VSCode官网下载.deb包安装即可。安装后我们需要安装几个至关重要的扩展它们构成了ROS2开发的骨架。首先打开VSCode进入扩展市场快捷键CtrlShiftX。请务必按以下顺序和配置来安装ROS扩展 (by Microsoft)这是官方维护的扩展提供了对ROS和ROS2工作空间的基本支持包括自动检测、构建、运行和调试任务。安装后它会在你打开ROS工作空间时自动激活。C/C (by Microsoft)提供C代码的智能感知IntelliSense、调试、代码浏览功能。这是调试C节点的基石。Python (by Microsoft)提供Python语言支持对于编写ROS2 Python节点、服务和动作服务器至关重要。CMake Tools (by Microsoft)虽然colcon是ROS2的构建工具但其底层仍调用CMake。这个扩展能提供更好的CMake项目配置和构建体验。YAML和XML语言支持用于编辑package.xml、launch文件等。安装完ROS扩展后我建议进入其设置Ctrl,搜索ROS进行一项关键调整将Ros: Autostart设置为false。这可以防止扩展在你打开任何文件夹时都尝试初始化ROS环境避免不必要的性能开销和潜在冲突。2. 构建高效的工作空间与VSCode项目配置一个结构清晰的工作空间是高效开发的起点。我们将创建一个标准的ROS2工作空间并配置VSCode使其成为一个真正的“ROS2感知”的IDE。2.1 创建并初始化标准ROS2工作空间我不推荐在home目录下随意创建文件夹。我习惯在~/ros2_ws下管理所有项目。让我们创建一个新的工作空间并初始化一个示例包。# 创建并进入工作空间目录 mkdir -p ~/ros2_ws/src cd ~/ros2_ws # 在工作空间根目录下使用VSCode打开 code .当VSCode打开后ROS扩展会自动检测到这是一个ROS2工作空间因为存在src目录并在状态栏显示当前ROS发行版如foxy。如果没显示可以按F1打开命令面板输入ROS: Set ROS Distribution并选择foxy。现在在VSCode内置的终端Ctrl 注意是反引号键中我们创建一个简单的Python包来测试环境# 确保终端已source ROS2环境 source /opt/ros/foxy/setup.bash # 进入src目录 cd src # 创建一个Python包依赖rclpy和std_msgs ros2 pkg create --build-type ament_python my_first_robot_pkg --dependencies rclpy std_msgs这会在src目录下生成一个名为my_first_robot_pkg的包。让我们快速创建一个发布者节点。在VSCode的资源管理器中导航到my_first_robot_pkg/my_first_robot_pkg新建一个文件minimal_publisher.pyimport rclpy from rclpy.node import Node from std_msgs.msg import String class MinimalPublisher(Node): def __init__(self): super().__init__(minimal_publisher) self.publisher_ self.create_publisher(String, topic, 10) timer_period 0.5 # seconds self.timer self.create_timer(timer_period, self.timer_callback) self.i 0 def timer_callback(self): msg String() msg.data Hello World: %d % self.i self.publisher_.publish(msg) self.get_logger().info(Publishing: %s % msg.data) self.i 1 def main(argsNone): rclpy.init(argsargs) minimal_publisher MinimalPublisher() rclpy.spin(minimal_publisher) minimal_publisher.destroy_node() rclpy.shutdown() if __name__ __main__: main()别忘了修改setup.py将新的节点脚本添加到入口点。找到setup.py中的entry_points部分修改为entry_points{ console_scripts: [ minimal_publisher my_first_robot_pkg.minimal_publisher:main, ], },2.2 深度配置.vscode文件夹超越默认设置VSCode通过工作空间根目录下的.vscode文件夹来存储特定于该项目的配置。ROS扩展会为我们生成一些基础配置但为了获得最佳体验我们需要进行深度定制。如果.vscode文件夹不存在手动创建它。首先配置c_cpp_properties.json。这个文件控制C/C的智能感知对于编写C节点尤其重要。在.vscode文件夹下创建该文件内容如下{ configurations: [ { name: ROS2-Foxy, includePath: [ ${workspaceFolder}/**, /opt/ros/foxy/include/**, /usr/include/** ], defines: [], compilerPath: /usr/bin/g, cStandard: c11, cppStandard: c14, intelliSenseMode: linux-gcc-x64, compileCommands: ${workspaceFolder}/build/compile_commands.json, configurationProvider: ms-vscode.cmake-tools } ], version: 4 }这里的关键是compileCommands和configurationProvider。compileCommands指向了colcon build生成的编译数据库它包含了所有确切的编译标志和头文件路径能让智能感知极其精准。configurationProvider让CMake Tools扩展来提供额外的配置信息。其次配置tasks.json。这个文件定义了我们可以运行的构建任务。ROS扩展已经提供了基础的colcon build任务但我们想添加一个更实用的“构建当前包”的任务。{ version: 2.0.0, tasks: [ { label: colcon: build all packages, type: shell, command: colcon, args: [ build, --symlink-install, --event-handlers, console_cohesion, --cmake-args, -DCMAKE_BUILD_TYPERelWithDebInfo ], group: { kind: build, isDefault: true }, problemMatcher: [], presentation: { reveal: always, panel: dedicated } }, { label: colcon: build current package, type: shell, command: colcon, args: [ build, --symlink-install, --packages-select, ${input:packageName}, --cmake-args, -DCMAKE_BUILD_TYPERelWithDebInfo ], group: build, problemMatcher: [], presentation: { reveal: always, panel: dedicated } } ], inputs: [ { id: packageName, type: promptString, description: Enter the package name to build } ] }现在你可以按CtrlShiftP输入Tasks: Run Task然后选择colcon: build current package输入包名如my_first_robot_pkg来只构建这一个包这在大型工作空间中能节省大量时间。3. 从基础到精通ROS2节点的调试实战配置好环境后真正的生产力提升体现在调试上。我们将分别探讨Python节点和C节点的调试方法这是解决复杂机器人逻辑问题的关键。3.1 Python节点的无缝调试Python节点的调试相对简单因为VSCode的Python扩展非常成熟。首先确保你的Python解释器指向了ROS2环境中的Python。在VSCode中按CtrlShiftP输入Python: Select Interpreter通常会看到一个路径包含/opt/ros/foxy的解释器选择它。要调试我们之前创建的minimal_publisher.py有几种方法方法一直接调试Python文件在minimal_publisher.py文件中在你感兴趣的行号左侧点击设置一个断点例如在self.publisher_.publish(msg)这一行。点击VSCode左侧的“运行和调试”图标或按CtrlShiftD。点击顶部的“创建 launch.json 文件”选择Python。这会生成一个基础的launch.json。我们需要修改它以适应ROS2环境。一个实用的配置如下{ version: 0.2.0, configurations: [ { name: Python: Debug ROS2 Node, type: python, request: launch, program: ${file}, console: integratedTerminal, env: { PYTHONPATH: /opt/ros/foxy/lib/python3.8/site-packages:${env:PYTHONPATH} }, justMyCode: false } ] }关键参数是justMyCode: false这允许调试器进入ROS2库如rclpy的内部代码对于理解底层机制很有帮助。env部分确保了Python解释器能找到ROS2的Python模块。保存launch.json回到minimal_publisher.py确保调试配置下拉菜单选择了Python: Debug ROS2 Node然后按F5开始调试。程序会在你设置的断点处暂停你可以查看变量、调用堆栈进行单步调试。方法二通过launch文件调试多个节点机器人应用通常由多个节点组成通过launch文件启动。在my_first_robot_pkg目录下创建一个launch文件夹并在其中新建demo.launch.pyfrom launch import LaunchDescription from launch_ros.actions import Node def generate_launch_description(): return LaunchDescription([ Node( packagemy_first_robot_pkg, executableminimal_publisher, outputscreen, namemy_publisher ), ])要调试通过launch文件启动的节点我们需要使用ROS扩展提供的调试配置。在调试视图中点击“添加配置”选择ROS: Launch。这会生成一个针对launch文件的调试配置。你需要修改target路径指向你的launch文件。{ name: ROS: Launch my_pkg, request: launch, target: ${workspaceFolder}/src/my_first_robot_pkg/launch/demo.launch.py, type: ros, internalConsoleOptions: openOnSessionStart }现在在Python节点文件中设置好断点选择这个ROS: Launch my_pkg配置并按F5VSCode会启动launch文件并自动将调试器附加到对应的Python节点进程上。3.2 C节点的复杂调试与核心转储分析C节点的调试更复杂但也更强大因为涉及到编译符号和底层内存。首先你需要确保你的包是以调试模式编译的。我们在tasks.json中已经设置了-DCMAKE_BUILD_TYPERelWithDebInfo这会在发布优化级别的同时包含调试符号是生产环境调试的推荐配置。假设我们有一个C节点minimal_subscriber.cpp。调试它的最佳实践是使用ROS: Attach调试配置。首先正常启动你的C节点。你可以在VSCode的集成终端里运行source install/setup.bash ros2 run my_cpp_pkg minimal_subscriber获取节点的进程ID (PID)。打开另一个终端使用ps aux | grep minimal_subscriber找到其PID。在VSCode中配置附加调试。在launch.json中添加一个ROS: Attach配置{ name: ROS: Attach to C Node, request: attach, target: ${input:processId}, type: ros, processId: ${command:pickProcess} }选择这个配置并按F5VSCode会弹出一个进程列表供你选择。找到你的minimal_subscriber节点进程并选择它。现在你可以在C源代码中设置断点。当节点执行到断点处时调试器会中断你可以检查C级别的变量、内存和线程状态。提示如果附加调试失败最常见的原因是编译时没有包含调试符号-g标志。请确认你的CMakeLists.txt中没有在add_executable之后使用target_compile_options移除了调试标志并且colcon build时使用了RelWithDebInfo或Debug配置。处理Segmentation Fault (核心已转储)当C节点崩溃时终端通常只输出“Segmentation fault (core dumped)”。要定位问题需要分析核心转储文件。首先启用核心转储ulimit -c unlimited。运行你的节点直到它崩溃。会在当前目录生成一个core文件或类似core.pid的文件。在VSCode中使用gdb进行分析。在集成终端中gdb /path/to/your/executable /path/to/corefile在gdb提示符下输入btbacktrace来查看崩溃时的调用堆栈。这能精确指出是哪一行代码导致了崩溃。为了更直观你可以在VSCode中安装Native Debug扩展它提供了一个图形界面来使用gdb加载和分析核心转储文件。4. 高级工作流效率工具、代码质量与项目管理一个顶尖的开发者不仅会写代码还会利用工具来保证代码质量和提升团队协作效率。这一部分我们将探索几个能极大提升ROS2开发体验的高级工具。4.1 静态代码分析与自动化格式化代码风格不一致是团队协作的噩梦。ROS2社区推荐使用ament工具链中的ament_cppcheck、ament_cpplint、ament_uncrustify用于C和ament_flake8、ament_pep257用于Python来进行代码风格检查和格式化。在VSCode中集成这些工具对于Python安装ms-python.python扩展后它已经集成了flake8和black等格式化工具。你需要在工作空间的settings.json中配置{ python.linting.enabled: true, python.linting.flake8Enabled: true, python.linting.lintOnSave: true, python.formatting.provider: black, python.formatting.blackArgs: [--line-length, 100], editor.formatOnSave: true, editor.codeActionsOnSave: { source.organizeImports: true } }对于C配置起来稍复杂。我们可以使用clang-format它与ament_uncrustify风格兼容。首先安装clang-formatsudo apt install clang-format。然后在VSCode中安装xaver.clang-format扩展。在工作空间.vscode/settings.json中配置{ C_Cpp.clang_format_path: /usr/bin/clang-format, C_Cpp.formatting: clangFormat, [cpp]: { editor.defaultFormatter: xaver.clang-format }, editor.formatOnSave: true }你还需要在项目根目录或工作空间根目录下放置一个.clang-format配置文件内容可以参考ROS2官方项目的风格。自动化检查与构建你可以在package.xml中声明这些测试依赖并在CMakeLists.txtC或setup.pyPython中启用它们。然后使用colcon test命令来运行所有测试和检查。更进一步可以将这个命令集成到VSCode的tasks.json中创建一个一键式代码质量检查任务。4.2 利用Dev Containers实现环境标准化与团队协作你是否遇到过“在我机器上是好的”这种问题使用Dev Containers开发容器可以彻底解决环境不一致的痛点。它通过Docker容器来定义整个开发环境包括ROS2版本、系统依赖、工具链确保每个团队成员、每台CI/CD服务器都在完全相同的环境中工作。VSCode对此有原生支持。你需要安装ms-vscode-remote.remote-containers扩展。在工作空间根目录下创建.devcontainer文件夹并在其中创建devcontainer.json文件。一个针对ROS2 Foxy的基础配置示例如下{ name: ROS2 Foxy Dev Container, image: osrf/ros:foxy-desktop, runArgs: [ --networkhost, --privileged, -e, DISPLAY${env:DISPLAY}, -v, /tmp/.X11-unix:/tmp/.X11-unix:rw ], mounts: [ source${localWorkspaceFolder},target/workspace,typebind,consistencycached ], customizations: { vscode: { extensions: [ ms-iot.vscode-ros, ms-vscode.cpptools, ms-python.python ] } }, remoteUser: root }重新打开VSCode它会提示“在容器中重新打开”。点击确认VSCode会自动拉取镜像、构建容器并将你的项目文件夹挂载进去。之后所有的开发、构建、调试都在这个隔离的、标准化的容器中进行。这对于需要特定版本系统库、避免污染主机环境、或者快速为新人搭建开发环境的场景来说是革命性的。4.3 性能剖析与可视化调试当你的机器人算法出现性能瓶颈时光靠代码逻辑调试是不够的。ROS2提供了强大的工具来剖析系统性能。ros2 topic hz/ros2 topic bw在终端中快速查看话题的发布频率和带宽定位通信瓶颈。ros2 run rqt_graph rqt_graph可视化节点和话题之间的连接图检查通信拓扑是否正确。ros2 run rqt_console rqt_console集中查看和管理所有节点的日志输出方便过滤和搜索错误信息。系统级性能监控你可以使用top、htop或更高级的bpf工具来监控节点的CPU和内存使用情况。在VSCode中可以安装CodeLLDB扩展对C节点进行性能剖析Profiling找出热点函数。将这些命令行工具与VSCode的集成终端结合使用你可以在一个界面内完成编码、构建、运行、监控和调试的全流程无需在多个窗口间频繁切换。我在多个机器人项目中实践了这套工作流最大的感受是“可控”。从环境搭建、代码编写、静态检查、动态调试到性能分析整个流程都在VSCode这个统一的界面下变得流畅。特别是Dev Container和自动化格式/检查让团队协作和代码复审的效率提升了一个数量级。记住工具的目的是解放生产力让你更专注于机器人算法和业务逻辑本身。花点时间把这些配置打磨好后续的开发会顺畅得多。如果在配置过程中遇到任何本文未覆盖的奇怪问题我的经验是首先检查环境变量ROS_DOMAIN_ID是否冲突以及~/.ros目录下是否有陈旧的日志或缓存文件清理它们往往能解决一些玄学问题。

相关新闻

TBOX(Telematics Box)在智能网联汽车中的核心功能与应用场景解析

TBOX(Telematics Box)在智能网联汽车中的核心功能与应用场景解析

1. TBOX到底是什么?你的车联网“中枢神经” 如果你最近买了辆新车,销售顾问很可能会跟你提一句:“咱们这车支持手机APP远程控制,夏天能提前开空调,冬天能提前热车。” 这背后默默干活的大功臣,就是今天要聊…

2026/7/3 16:24:22 阅读更多 →
500k波特率下CAN总线负载率避坑指南:为什么你的实际负载总比计算值高20%?

500k波特率下CAN总线负载率避坑指南:为什么你的实际负载总比计算值高20%?

500k波特率下CAN总线负载率避坑指南:为什么你的实际负载总比计算值高20%? 在新能源汽车和自动驾驶的测试一线待久了,总会遇到一些“理论很丰满,现实很骨感”的瞬间。比如,你精心计算出的CAN总线负载率明明只有45%&…

2026/5/17 12:36:07 阅读更多 →
2026年Instagram保姆级养号教程:21天快速有效起号

2026年Instagram保姆级养号教程:21天快速有效起号

在2026年的Instagram生态中,新账号的生存环境正在变得越来越严苛。很多人以为是“运气不好”或“平台不给流量”,实际上是无意中触发了平台风控。本文将系统梳理Instagram养号的核心逻辑,从最新算法变化、养号黄金技巧到21天实操流程&#xf…

2026/5/17 12:36:07 阅读更多 →

最新新闻

数据产业服务分类(31)——数据产业——数字技术与数据技术

数据产业服务分类(31)——数据产业——数字技术与数据技术

数字技术与数据技术是紧密相关且各有侧重的领域,数字技术为数据处理和应用提供支撑,数据技术则专注于数据全生命周期的管理与价值挖掘,二者协同推动数字经济创新发展。数字技术与数据技术的定义数字技术是指利用电子计算机、互联网、大数据、…

2026/7/5 14:20:19 阅读更多 →
数据产业服务分类(30)——数据产业——数字经济核心产业与数据产业

数据产业服务分类(30)——数据产业——数字经济核心产业与数据产业

数字经济核心产业包括数字产品制造业、数字产品服务业、数字技术应用业、数字要素驱动业。数字经济核心产业与数据产业是紧密交织、相互促进的关系,数据产业是数字经济重要支撑,而数字经济核心产业为数据产业提供发展动力,二者协同推动数字经…

2026/7/5 14:20:19 阅读更多 →
OpenCV中的「SVM分类器」:从理论到实战,手把手教你构建图像分类模型

OpenCV中的「SVM分类器」:从理论到实战,手把手教你构建图像分类模型

1. SVM分类器基础:从几何原理到OpenCV实现第一次接触SVM时,我被它优雅的数学原理深深吸引。想象你面前有一堆红蓝两色的积木,需要画一条线把它们分开——SVM就是在多维空间里做这件事,而且还要找到"最公平"的那条分界线…

2026/7/5 14:20:19 阅读更多 →
B. Good times Good times(Codeforces 2241)

B. Good times Good times(Codeforces 2241)

B. Good times Good times 题解题意简述 一个整数被称为 good&#xff0c;当且仅当它的十进制表示中 最多只含两种不同数字。 给定一个已经保证为 good 的整数 x&#xff0c;要求构造一个整数 y&#xff0c;满足&#xff1a; 2 < y < 10^9y 是 goodx * y 也是 good 如果有…

2026/7/5 14:20:19 阅读更多 →
PIC18F4680与DC-DC降压转换器的数字电源管理方案

PIC18F4680与DC-DC降压转换器的数字电源管理方案

1. 项目背景与核心需求解析在嵌入式系统开发中&#xff0c;电源管理一直是硬件设计的核心挑战之一。当我们使用PIC18F4680这类微控制器构建系统时&#xff0c;往往需要为不同模块提供多种电压等级的稳定电源。传统的线性稳压器虽然简单&#xff0c;但在大电流或输入输出电压差较…

2026/7/5 14:18:19 阅读更多 →
土木工程人必备的计算工具箱,免费无广告,大幅提升工作效率

土木工程人必备的计算工具箱,免费无广告,大幅提升工作效率

前段时间有个做土木工程的兄弟跟我吐槽&#xff0c;说他们做施工方案的时候&#xff0c;要计算各种参数&#xff0c;以前都是手工算或者用Excel&#xff0c;费时费力还容易出错。后来他们公司买了个专业软件&#xff0c;要好几万&#xff0c;而且很多功能用不上&#xff0c;感觉…

2026/7/5 14:18:19 阅读更多 →

日新闻

B站视频下载神器BiliTools:5分钟学会轻松保存任何B站内容

B站视频下载神器BiliTools:5分钟学会轻松保存任何B站内容

B站视频下载神器BiliTools&#xff1a;5分钟学会轻松保存任何B站内容 【免费下载链接】BiliTools A cross-platform bilibili toolbox. 跨平台哔哩哔哩工具箱&#xff0c;支持下载视频、番剧等等各类资源 项目地址: https://gitcode.com/GitHub_Trending/bilit/BiliTools …

2026/7/5 0:03:34 阅读更多 →
威胁模型全解析:从新手入门到实战应用,助你构建安全产品!

威胁模型全解析:从新手入门到实战应用,助你构建安全产品!

威胁模型的陌生现状在忙碌疲惫的一天里&#xff0c;参与了关于混合后量子密码学的讨论&#xff0c;应付端点攻击找茬的人&#xff0c;还参与留言板讨论后&#xff0c;发现“威胁模型”对多数人仍是陌生概念&#xff0c;且多被当作时髦用语。有趣的相关画作有一幅由 Embyr 创作的…

2026/7/5 0:03:34 阅读更多 →
渗透测试入门指南:从零基础到实战环境搭建

渗透测试入门指南:从零基础到实战环境搭建

1. 从“看热闹”到“入门”&#xff1a;我理解的渗透测试到底是什么&#xff1f;每次看到新闻里说某个大公司的数据被“黑”了&#xff0c;或者某个网站被攻击导致服务瘫痪&#xff0c;你是不是和我一样&#xff0c;心里会冒出两个念头&#xff1a;一是“这黑客真厉害”&#x…

2026/7/5 0:07:38 阅读更多 →

周新闻

B站视频下载神器BiliTools:5分钟学会轻松保存任何B站内容

B站视频下载神器BiliTools:5分钟学会轻松保存任何B站内容

B站视频下载神器BiliTools&#xff1a;5分钟学会轻松保存任何B站内容 【免费下载链接】BiliTools A cross-platform bilibili toolbox. 跨平台哔哩哔哩工具箱&#xff0c;支持下载视频、番剧等等各类资源 项目地址: https://gitcode.com/GitHub_Trending/bilit/BiliTools …

2026/7/5 0:03:34 阅读更多 →
威胁模型全解析:从新手入门到实战应用,助你构建安全产品!

威胁模型全解析:从新手入门到实战应用,助你构建安全产品!

威胁模型的陌生现状在忙碌疲惫的一天里&#xff0c;参与了关于混合后量子密码学的讨论&#xff0c;应付端点攻击找茬的人&#xff0c;还参与留言板讨论后&#xff0c;发现“威胁模型”对多数人仍是陌生概念&#xff0c;且多被当作时髦用语。有趣的相关画作有一幅由 Embyr 创作的…

2026/7/5 0:03:34 阅读更多 →
渗透测试入门指南:从零基础到实战环境搭建

渗透测试入门指南:从零基础到实战环境搭建

1. 从“看热闹”到“入门”&#xff1a;我理解的渗透测试到底是什么&#xff1f;每次看到新闻里说某个大公司的数据被“黑”了&#xff0c;或者某个网站被攻击导致服务瘫痪&#xff0c;你是不是和我一样&#xff0c;心里会冒出两个念头&#xff1a;一是“这黑客真厉害”&#x…

2026/7/5 0:07:38 阅读更多 →

月新闻