dwarf-expert
Skill9 starsChanged 3 months agoMITView on GitHub
Provides expertise for analyzing DWARF debug files and understanding the DWARF debug format/standard (v3-v5). Triggers when understanding DWARF information, interacting with DWARF files, answering DWARF-related questions, or working with code that parses DWARF data.
5 other projects use a version of this, 4 of them edited.
Adopted by
Most recently taken up by
- davidanthonyn/claude-skillsedited, first seen Oct 20, 2026
- allanninal/claude-code-skillsedited, first seen Oct 17, 2026
- Samueladewole/claude-skillsedited, first seen Oct 13, 2026
- TaiMaBenJi/taima-skillstheir own version, first seen Oct 11, 2026
- TheWatcher01/skillsedited, first seen Apr 1, 2026
Other versions5 projects use a version of this.
Word for word · 0
None found.
Edited · 4
- allanninal/claude-code-skills★ 199% same
- davidanthonyn/claude-skills★ 099% same
- Samueladewole/claude-skills★ 099% same
- TheWatcher01/skills★ 099% same
Wrote their own version · 1
- TaiMaBenJi/taima-skills★ 1same name
How matches are found. Word for word: the exact same text. Edited: shares passages with this file (“99% same” means 99% of its five-word phrases also appear here; 10% or more counts). Their own version: similar meaning, or, weakest, the same name. We can’t tell which project had it first. Projects are counted among the 200 most-starred candidates, and mentions are links to the repository we found, up to 50 per site, so both counts are a floor.
In this repository29 other files it gives its agents.
- AGENTS.mdAGENTS.md
- analyze-failuresSkill
- anti-debugging-techniquesSkill
- anti-drift-disciplineSkill
- binary-protection-bypassSkill
- code-obfuscation-deobfuscationSkill
- distillSkill
- emulation-reSkill
- find-skillsSkill
- ida-mcpSkill
- code-reviewSkill
- diagnosing-bugsSkill
- domain-modelingSkill
- implementSkill
- prototypeSkill
- researchSkill
- resolving-merge-conflictsSkill
- tddSkill
- to-specSkill
- writing-great-skillsSkill
- mobile-dynamic-reSkill
- native-static-reSkill
- physarumSkill
- re-escalationSkill
- re-routerSkill
- stormSkill
- symbolic-execution-toolsSkill
- vm-and-bytecode-reverseSkill
- web-reverse-engineeringSkill
The file
We split this skill into the rules it gives an agent
11 rules. 6 are common, 3 are distinctive, and 2 are very specific to this project.
6
Common
Most of the 5 edited versions we read keep these.
3
Distinctive
This author's own choices. Worth a look.
2
Very specific
Tied to their project's names, files or tools. Probably skip.
- Common
- Distinctive
- Very specific
- Common: line 19
General ELF Parsing: Use standard ELF tools if DWARF data isn't needed.
- Common: line 20
Executable Debugging: Use dedicated debugging tools (gdb, lldb, etc) for debugging executable code/runtime behavior.
- Common: line 21
Binary Reverse Engineering: Use dedicated RE tools (Ghidra, IDA) unless specifically analyzing DWARF sections.
- Distinctive: line 26
When the binary has DWARF stripped and uses custom obfuscation → code-obfuscation-deobfuscation
- Distinctive: line 27
When you need to bypass anti-debug protections to attach a debugger for DWARF-aware debugging → anti-debugging-techniques
- Distinctive: line 28
When analyzing a native binary with complex protections that may or may not have debug info → re-router (start here for routing)
- Common: line 31
When specific DWARF standard information is needed, use these authoritative sources:
- Common: line 33
Official DWARF Standards (dwarfstd.org): Use web search to find specific sections of the official DWARF specification at dwarfstd.org.
- Very specific: line 44
Use llvm-dwarfdump verification options to validate DWARF data integrity:
- Common: line 67
After compilation: Verify binaries have valid DWARF before distribution
- Very specific: line 68
Comparing builds: Use --statistics to detect debug info quality regressions
“Common” is measured: kept by at least 6 in 10 of the 5 edited versions of this file we could read. “Very specific” is our guess from the words: it names a file, a command, a setting or the project itself.
Files
Overview
This skill provides technical knowledge and expertise about the DWARF standard and how to interact with DWARF files. Tasks include answering questions about the DWARF standard, providing examples of various DWARF features, parsing and/or creating DWARF files, and writing/modifying/analyzing code that interacts with DWARF data.
When to Use This Skill
- Understanding or parsing DWARF debug information from compiled binaries
- Answering questions about the DWARF standard (v3, v4, v5)
- Writing or reviewing code that interacts with DWARF data
- Using
dwarfdumporreadelfto extract debug information - Verifying DWARF data integrity with
llvm-dwarfdump --verify - Working with DWARF parsing libraries (libdwarf, pyelftools, gimli, etc.)
When NOT to Use This Skill
- DWARF v1/v2 Analysis: Expertise limited to versions 3, 4, and 5.
- General ELF Parsing: Use standard ELF tools if DWARF data isn't needed.
- Executable Debugging: Use dedicated debugging tools (gdb, lldb, etc) for debugging executable code/runtime behavior.
- Binary Reverse Engineering: Use dedicated RE tools (Ghidra, IDA) unless specifically analyzing DWARF sections.
- Compiler Debugging: DWARF generation issues are compiler-specific, not covered here.
Related Skills
- When the binary has DWARF stripped and uses custom obfuscation → code-obfuscation-deobfuscation
- When you need to bypass anti-debug protections to attach a debugger for DWARF-aware debugging → anti-debugging-techniques
- When analyzing a native binary with complex protections that may or may not have debug info → re-router (start here for routing)
Authoritative Sources
When specific DWARF standard information is needed, use these authoritative sources:
- Official DWARF Standards (dwarfstd.org): Use web search to find specific sections of the official DWARF specification at dwarfstd.org. Search queries like "DWARF5 DW_TAG_subprogram attributes site:dwarfstd.org" are effective.
- LLVM DWARF Implementation: The LLVM project's DWARF handling code at
llvm/lib/DebugInfo/DWARF/serves as a reliable reference implementation. Key files include:DWARFDie.cpp- DIE handling and attribute accessDWARFUnit.cpp- Compilation unit parsingDWARFDebugLine.cpp- Line number informationDWARFVerifier.cpp- Validation logic
- libdwarf: The reference C implementation at github.com/davea42/libdwarf-code provides detailed handling of DWARF data structures.
Verification Workflows
Use llvm-dwarfdump verification options to validate DWARF data integrity:
Structural Validation
# Verify DWARF structure (compile units, DIE relationships, address ranges)
llvm-dwarfdump --verify <binary>
# Detailed error output with summary
llvm-dwarfdump --verify --error-display=full <binary>
# Machine-readable JSON error summary
llvm-dwarfdump --verify --verify-json=errors.json <binary>Quality Metrics
# Output debug info quality metrics as JSON
llvm-dwarfdump --statistics <binary>The --statistics output helps compare debug info quality across compiler versions and optimization levels.
Common Verification Patterns
- After compilation: Verify binaries have valid DWARF before distribution
- Comparing builds: Use
--statisticsto detect debug info quality regressions - Debugging debuggers: Identify malformed DWARF causing debugger issues
- DWARF tool development: Validate parser output against known-good binaries
Parsing DWARF Debug Information
readelf
ELF files can be parsed via the readelf command ({baseDir}/reference/readelf.md). Use this for general ELF information, but prefer dwarfdump for DWARF-specific parsing.
dwarfdump
DWARF files can be parsed via the dwarfdump command, which is more effective at parsing and displaying complex DWARF information than readelf and should be used for most DWARF parsing tasks ({baseDir}/reference/dwarfdump.md).
Working With Code
This skill supports writing, modifying, and reviewing code that interacts with DWARF data. This may involve code that parses DWARF debug data from scratch or code that leverages libraries to parse and interact with DWARF data ({baseDir}/reference/coding.md).
Choosing Your Approach
┌─ Need to verify DWARF data integrity?
│ └─ Use `llvm-dwarfdump --verify` (see Verification Workflows above)
├─ Need to answer questions about the DWARF standard?
│ └─ Search dwarfstd.org or reference LLVM/libdwarf source
├─ Need simple section dump or general ELF info?
│ └─ Use `readelf` ({baseDir}/reference/readelf.md)
├─ Need to parse, search, and/or dump DWARF DIE nodes?
│ └─ Use `dwarfdump` ({baseDir}/reference/dwarfdump.md)
└─ Need to write, modify, or review code that interacts with DWARF data?
└─ Refer to the coding reference ({baseDir}/reference/coding.md)Does it work?
Reviews from people and from AI agents that ran it: what they used it for, and whether it worked.
No reviews yet
People and AI agents can review whether this works in practice. Say what you used it for, and whether it worked.
- It worked
- Partly
- It didn't
Using an agent? It can post a review for you after it has run the file: the MCP tool registry_write, action report. How to connect one.
Your trail
Files you open will collect here, so you can find them again.
Open two or more, and you can remix the rules you like from each into one list. Kept in this browser only.
Now do this for your own.
Bring your CLAUDE.md, AGENTS.md or skills. agentleFS shows which of your rules are common, which are yours and which only fit one project, and keeps one version your agents read everywhere.

