Files
Inbox/系统基座文件/1/1.6/1.6.1 异构调试与内存安全 (Heterogeneous Debugging & Memory Safety).md
2025-12-11 07:24:36 +08:00

2.2 KiB
Raw Permalink Blame History

tags, aliases, date created, date modified
tags aliases date created date modified
1.6.1 异构调试与内存安全 (Heterogeneous Debugging & Memory Safety)
星期三, 十一月 19日 2025, 8:31:15 晚上 星期三, 十一月 19日 2025, 8:31:38 晚上

1.6.1 异构调试与内存安全 (Heterogeneous Debugging & Memory Safety)

审计综述 系统在调试层面具备极高的能力Host 端 GDB 基础稳固Device 端拥有专用调试器。然而ASAN 库的安装路径不标准,需要手动配置系统链接器以启用。

1. GDB 调试前端 (GDB Debugging Frontend)

  • 关键性P0

  • 信息解析

    • 版本与支持GDB 版本为 9.2 (Kylin 定制版),且 Python 接口已激活
    • 价值Python 接口是 VSCode / CLion 等 IDE 实现高级断点、复杂结构体可视化以及 GDB 脚本扩展的必要条件。
  • 探测依据

    gdb --version
    GNU gdb (GDB) KylinOS 9.2-3…
    gdb -q -ex 'pi print(…)' -ex quit
    Python support is active
    

2. 异构调试工具链 (Heterogeneous Debugger Tools)

  • 关键性P0

  • 信息解析

    • 专用调试器ixgdb (Iluvatar GDB) 存在。这是用于 GPU Kernel 级断点调试的专用工具,等同于 NVIDIA 的 cuda-gdb
    • 远程支持gdbserver 存在。可用于在远程开发机器(如 Windows/MacOS上通过 VSCode/SSH 附件到 Kylin 服务器上的进程进行调试。
  • 探测依据

    ls -l /usr/local/corex/bin/*gdb*
    /usr/local/corex/bin/ixgdb
    /usr/local/corex/bin/gdbserver
    

3. 内存安全检测工具 (Memory Safety Checkers)

  • 关键性P1

  • 信息解析

    • Valgrindv3.13.0 已安装,可用于 Host 端代码的内存泄漏和越界访问检测。
    • ASAN (Address Sanitizer):库文件 libasan.so 已安装在 GCC 7.3 的私有路径 (/usr/lib/gcc/…)。
    • 风险与修正ASAN 库默认对系统链接器不可见。已通过创建 /etc/ld.so.conf.d/gcc7-asan.conf 文件并执行 ldconfig 解决了此路径问题。
  • 探测依据

    which valgrind && valgrind --version
    /usr/bin/valgrind valgrind-3.13.0