# MachOInspect **Repository Path**: handyohos/machoinspect ## Basic Information - **Project Name**: MachOInspect - **Description**: macOS/iOS MachO相关的详细分析。 - **Primary Language**: Python - **License**: Apache-2.0 - **Default Branch**: master - **Homepage**: None - **GVP Project**: No ## Statistics - **Stars**: 0 - **Forks**: 1 - **Created**: 2023-05-17 - **Last Updated**: 2025-09-28 ## Categories & Tags **Categories**: Uncategorized **Tags**: None ## README # macOSInspect:macOS洞察分析 ## 1. 项目介绍 Project Overview 结合macOS MachO相关的命令行工具,分析macOS系统的dylib的依赖关系和各个进程运行时的内存消耗,并通过WEB界面可视化展示。 ## 2. 项目结构 Project Structure * 采集器[collector](collector/README.md) ​ 采集macOS的dylib符号信息以及内存信息,存储到SQLite数据库中。 * 展示器[analyser](analyser/README.md) ​ 读取SQLite数据库的内容,并通过WEB可视化展示dylib的符号信息,依赖关系以及内存数据。 ## 3. 技术栈 Tech Stack - **Python**:主体开发语言 - **SQLite**:后端数据库 - **jQuery**:前端JavaScript库 - **bootstrap**:前端JavaScript/CSS控件库 ## 4. 编码规范 Coding Conventions - **简洁**:单机运行,无需额外部署服务器 - **文档详细**:每一部分的文档尽可能详细 - **模块化**:各模块职责清晰 - **单元测试**: 各模块可单独单元测试 ## 5. 运行测试 (Running Tests) 项目使用 `pytest` 框架进行单元测试。所有测试用例都位于项目根目录下的 `tests/` 目录中。 ### 5.1 安装依赖 在运行测试之前,需要先安装 `pytest`。请在项目根目录执行以下命令: ```bash python3 -m pip install pytest ``` ### 5.2 执行测试 安装完成后,直接在项目根目录运行以下命令即可自动发现并执行所有测试用例: ```bash python3 -m pytest ``` 您将会看到类似以下的测试结果输出,表明测试的通过、失败或跳过情况: ``` ============================= test session starts ============================== platform darwin -- Python 3.9.6, pytest-8.4.2, pluggy-1.6.0 rootdir: /Users/handy/Documents/work/projects/python/machoinspect collected 3 items tests/collector/dbinfo/test_table_builder.py . [ 33%] tests/collector/macho/test_macho_walker.py . [ 66%] tests/collector/vmmap/test_vmmap_parser.py . [100%] ============================== 3 passed in 0.10s =============================== ``` ## 6. 当前目标 Current Goals - 补充详细文档 - 补充单元测试用例框架