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

56 lines
2.2 KiB
Markdown
Raw Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

---
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
```