--- tags: [] aliases: - 1.6.1 异构调试与内存安全 (Heterogeneous Debugging & Memory Safety) date created: 星期三, 十一月 19日 2025, 8:31:15 晚上 date modified: 星期三, 十一月 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 脚本扩展的必要条件。 - **探测依据**: ```bash 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 服务器上的进程进行调试。 - **探测依据**: ```bash ls -l /usr/local/corex/bin/*gdb* /usr/local/corex/bin/ixgdb /usr/local/corex/bin/gdbserver ``` **3. 内存安全检测工具 (Memory Safety Checkers)** - **关键性**:**P1** - **信息解析**: - **Valgrind**:**v3.13.0** 已安装,可用于 Host 端代码的内存泄漏和越界访问检测。 - **ASAN (Address Sanitizer)**:库文件 `libasan.so` **已安装**在 GCC 7.3 的私有路径 (`/usr/lib/gcc/…`)。 - **风险与修正**:ASAN 库默认对系统链接器不可见。已通过创建 `/etc/ld.so.conf.d/gcc7-asan.conf` 文件并执行 `ldconfig` 解决了此路径问题。 - **探测依据**: ```bash which valgrind && valgrind --version /usr/bin/valgrind valgrind-3.13.0 ```