gdb-heap-analysis
GDB heap/arena memory analysis for core dump debugging.
Skill by hellyguo
Install
Works with Claude Code, Claude apps, Codex, Cursor, Gemini CLI, GitHub Copilot, VS Code, OpenCode, Goose, Windsurf. Read the repository before you give any tool access to your data.
npx agentmarket install skill/hellyguo-gdb-heap-analysis
Asks which of your tools to add it to (Claude Code, Codex, Cursor, VS Code, Windsurf, Gemini CLI, Claude Desktop) and shows the change first. See https://agentmart.dev/cli.
Get the weekly diff
The weekly diff: one email a week with new agent tools, notable updates and grade changes, plus security alerts for tools you follow. Double opt-in, one-click unsubscribe.
About
Reviews
Write a reviewNo reviews yet. Installed it? Reviews come from verified installers only. How reviews work
Permissions
What this skill can do and what it asks for, from its SKILL.md. Checked Oct 25, 2026.
- Tools
- No tools found
- Secrets
- None asked for
- Install scripts
- None found
Network hosts it talks to 1
codeload.github.com· found in install command
Files it touches
~/.claude/skills/gdb-heap-analysis
What's inside
- Skill name
gdb-heap-analysis- Description
- GDB heap/arena memory analysis for core dump debugging. Use when analyzing glibc ptmalloc memory leaks, high memory usage, or arena corruption in core dumps.
- License
- Apache-2.0
- Instructions
- 146 lines in SKILL.md · view on GitHub
Files (7)
- SKILL.md
- openai.yaml · agents/
- diagnostic-patterns.md · references/
- glibc-offsets.md · references/
- heap-structures.md · references/
- arena-walk-output.md · templates/
- diagnostic-decision.md · templates/
SKILL.md (first lines)
# GDB 堆内存分析(glibc ptmalloc)
Analyze glibc ptmalloc heap structures in core dumps. Human judgment required at each decision point.
## Workflow
```
Load core → Confirm symbols → Walk arenas → Analyze malloc_state → Check distribution → Locate allocations
```
## Step 1: Confirm Debug Symbols
```gdb
ptype struct malloc_state
ptype struct malloc_chunk
```
- Struct definition output → Has symbols, use struct access
- "No symbol table" → No symbols, need manual offsets
### No Symbols
```bash
ldd --version
```
```gdb
info sharedlibrary libc
```
Read [references/glibc-offsets.md](references/glibc-offsets.md) for known offsets by version.
## Step 2: Walk All Arenas
### With Symbols
```gdb
p &main_arena
p main_arena.system_mem
set $a = main_arena.next
while $a != &main_arena && $a != 0
printf "Arena @ %p, sys_mem=%lu MB\n", $a, $a->system_mem / 1024 / 1024
set $a = $a->next
end
```
### Without Symbols
```gdb
set $arena = 0xfffd8c000020
x/gx $arena+0x888 # system_mem (glibc 2.28)
x/gx $arena+0x870 # next
```
**Judgment**: Arena size thresholds — typical <100MB, suspicious >500MB, abnormal >1GB. Record largest arena address.
## Step 3: Analyze malloc_state
```gdb
p *(struct malloc_state *)$arena_addr
```
Key fields: `top`, `system_mem`, `bins[]`, `fastbinsY`
### Top Chunk Location
```gdb
set $top = ((struct malloc_state *)$arena)->top
```
- `$top` near `$arena_addr` (within 64MB) → Subheap mode
- `$top` in different address range → **Direct mmap mode**
## Step 4: Check Memory Distribution
### Subheap Chain
```gdb
set $heap = $arena_addr - 32
while $heap != 0
set $ar = *(void**)$heap
if $ar != $arena_addr
break
end
set $size = *(size_t*)($heap+16)
printf "Subheap @ %p, size=%lu MB\n", $heap, $size/1024/1024
set $heap = *(void**)($heap+8)
end
```
**Judgment**: Sum subheap sizes, compare with `system_mem`. Gap >1GB → large direct mmap allocations.
### Mmap Mode
```gdb
info proc mappings
```
Look for anonymous mappings not covered by subheaps.
## Step 5: Locate Specific Allocations
### Chunk Header
```gdb
set $chunk = 0xfffcab6d86b0
x/gx $chunk-8 # prev_size + size with flags
```
Size field flags (lowest 3 bits): PREV_INUSE(bit 0), IS_MMAPPED(bit 1), NON_MAIN_ARENA(bit 2)
### Bins
```gdb
p ((struct malloc_state *)$arena)->bins[0]@10
p ((struct malloc_state *)$arena)->fastbinsY
```
## Judgment SummaryFrom hellyguo/self-ai-spec, Apache-2.0.
More from hellyguo/self-ai-spec
- 0.618score
code-review
hellyguo
代码审查框架:通用审查流程 + 语言特定规则引用,支持多语言代码审查
SkillAFreshness: A★ 8Claude Code +9 - 0.614score
code-deconstruct
hellyguo
读取所有源代码,解构为设计图、设计文档、数据库设计; 没有执行文件,请按流程执行
SkillAFreshness: A★ 8Claude Code +9 - 0.589score
java-coverage
hellyguo
Strategies and patterns to boost test coverage to 80%+ line or 60%+ branch coverage.
SkillBFreshness: B★ 8Claude Code +9 - 0.581score
java-check-spotbugs
hellyguo
SpotBugs静态分析技能:使用SpotBugs、Find Security Bugs、fb-contrib进行Java代码缺陷和安全分析
SkillBFreshness: B★ 8Claude Code +9 - 0.581score
cpp-tscancode
hellyguo
TscanCode静态分析技能:使用TscanCode(腾讯开源)进行C/C++代码质量分析,检测缺陷、安全漏洞和代码风格问题
SkillBFreshness: B★ 8Claude Code +9 - 0.580score
ast-grep-block
hellyguo
基于 ast-grep 的代码审查门禁:使用 code-checklist 规则集对 Java/C++/ANSI C 项目分级扫描(high/medium/low),输出命中清单与 CI 退出码。仅使用 CLI 模式(run.sh),适用于交互式审查、CI 质量门禁、批量检测
SkillBFreshness: B★ 8Claude Code +9 - 0.578score
java-check-pmd
hellyguo
PMD静态分析技能:使用PMD进行Java代码质量分析,检测代码坏味道、编码规范和安全问题
SkillBFreshness: B★ 8Claude Code +9 - 0.578score
java-env
hellyguo
该skill没有执行文件,为信息输入:Java开发需要的环境信息
SkillBFreshness: B★ 8Claude Code +9 - 0.575score
code-refactor
hellyguo
该skill没有执行文件,为操作指引:如何重构
SkillBFreshness: B★ 8Claude Code +9 - 0.575score
java-asprof
hellyguo
该skill没有执行文件,为操作指引:采集Java执行情况
SkillBFreshness: B★ 8Claude Code +9 - 0.574score
code-part-modification
hellyguo
局部代码修改技能:最小化修改完成功能,确保无蝴蝶效应,支持独立测试验证和全量关联检查
SkillBFreshness: B★ 8Claude Code +9 - 0.530score
cpp-clang-tidy
hellyguo
Clang-Tidy 静态分析技能:使用 clang-tidy 进行 C/C++ 代码质量检测,支持自定义检查规则和自动修复
SkillCFreshness: C★ 8Claude Code +9
Signals
- Stars
- 8
- Forks
- 0
- Open issues
- 0
- Last commit (this folder)
- Aug 12, 2026 (2 months ago)
From GitHub (fetched Oct 24, 2026).
Details
- License
- Apache-2.0
- Repository
- github.com/hellyguo/self-ai-spec
- First seen
- Oct 24, 2026
- Last checked
- Oct 24, 2026
- Source
- GitHubgithub-graphql
More from hellyguo
- 0.618score
code-review
hellyguo
代码审查框架:通用审查流程 + 语言特定规则引用,支持多语言代码审查
SkillAFreshness: A★ 8Claude Code +9 - 0.614score
code-deconstruct
hellyguo
读取所有源代码,解构为设计图、设计文档、数据库设计; 没有执行文件,请按流程执行
SkillAFreshness: A★ 8Claude Code +9 - 0.589score
java-coverage
hellyguo
Strategies and patterns to boost test coverage to 80%+ line or 60%+ branch coverage.
SkillBFreshness: B★ 8Claude Code +9 - 0.581score
cpp-tscancode
hellyguo
TscanCode静态分析技能:使用TscanCode(腾讯开源)进行C/C++代码质量分析,检测缺陷、安全漏洞和代码风格问题
SkillBFreshness: B★ 8Claude Code +9 - 0.581score
java-check-spotbugs
hellyguo
SpotBugs静态分析技能:使用SpotBugs、Find Security Bugs、fb-contrib进行Java代码缺陷和安全分析
SkillBFreshness: B★ 8Claude Code +9 - 0.580score
ast-grep-block
hellyguo
基于 ast-grep 的代码审查门禁:使用 code-checklist 规则集对 Java/C++/ANSI C 项目分级扫描(high/medium/low),输出命中清单与 CI 退出码。仅使用 CLI 模式(run.sh),适用于交互式审查、CI 质量门禁、批量检测
SkillBFreshness: B★ 8Claude Code +9
Cite this page
gdb-heap-analysis skill. Agent Mart. https://agentmart.dev/skills/hellyguo-gdb-heap-analysis (last updated 2026-10-24)