Token导航 LogoToken导航

Agent Skill · 研究检索

axiom-lldb-ref(公理 lldb 参考)

axiom-lldb-ref 用于查找、检索和筛选相关信息,适合在 Codex、Claude、Cursor、Gemini CLI 中需要根据关键词、任务场景或来源线索快速定位候选结果时使用。可结合来源仓库、安装命令和原始 README 继续核验具体用法。安装前建议确认权限范围、维护状态,以及是否会触发联网、命令执行或文件读写。

axiom-lldb-ref 是研究检索类 Agent Skill,可用宿主为 Codex、Claude、Cursor、Gemini CLI,通过GitHub 仓库获取,权限为只读;许可证信息还不明确,第三方扫描已通过,按安装量在研究检索类的 73,675 个 Skill 里排第 31,884。

总安装 2,619周安装 107GitHub Stars 873下载 839核验 2026-05-01

安装说明

本站只整理中文说明,不托管安装包,也不代用户安装。
GitHub
许可证
unknown

安装方式

通过对话安装

复制提示词发给支持本地命令或 Skills 的 AI 助手,先确认命令和权限,再让它执行。

请帮我安装这个 Agent Skill:axiom-lldb-ref(公理 lldb 参考)
来源仓库:https://github.com/charleswiltgen/axiom
仓库路径:skills/axiom-lldb-ref
安装命令:
npx skills add https://github.com/charleswiltgen/axiom --skill axiom-lldb-ref
安装前请先检查当前环境是否支持对应 CLI,并向我确认将要执行的命令、安装目录、联网范围和文件读写权限;确认后再执行。

命令行安装

复制命令到本机终端执行。该命令会通过 npx skills 从第三方来源获取 Skill;本站只展示命令,不托管安装包,也不自动执行。

skills.shnpx skills
npx skills add https://github.com/charleswiltgen/axiom --skill axiom-lldb-ref

这个 Skill 是做什么的

研究检索类 Skill 主要解决「找资料、核对事实、把来源整理清楚」的问题,通常会让助手先检索再总结。

用于查找、检索和筛选相关信息。适合在 Codex、Claude、Cursor、Gemini CLI 中根据关键词、任务场景或来源线索快速定位候选结果。可结合来源仓库、安装命令和原始 README 继续核验具体用法。安装前建议确认权限范围、维护状态,以及是否会触发联网、命令执行或文件读写。

axiom-lldb-ref 属于研究检索类 Skill,可作为该场景下的辅助能力补充。

来源仓库内路径:skills/axiom-lldb-ref

上手步骤

4 步
  1. 1

    确认自己的宿主工具

    公开资料标注支持 Codex、Claude、Cursor、Gemini CLI;先确认自己用的是其中之一,再按对应工具的 Skills 目录放置。

  2. 2

    拿到安装命令

    可以直接复制的命令是 npx skills add https://github.com/charleswiltgen/axiom --skill axiom-lldb-ref;命令里的占位符换成自己的路径或密钥再执行。

  3. 3

    安装后重启宿主

    命令执行完要完全退出宿主工具再打开,让新装的 Skill 被重新扫描到,否则列表里可能看不到。

  4. 4

    按最小权限试用

    它标注为只读,先用只读任务试一次,确认行为符合预期再扩大使用范围。

常见问题

6 条

axiom-lldb-ref 怎么安装?

在终端执行 npx skills add https://github.com/charleswiltgen/axiom --skill axiom-lldb-ref。装完完全退出宿主工具再打开,让它重新扫描本地 Skill。

axiom-lldb-ref 支持哪些 AI 工具?

公开资料标注支持 Codex、Claude、Cursor、Gemini CLI。其他工具只要能读取本地 Skill 目录,一般也能手动放进去,但要自己确认触发方式是否一致。

axiom-lldb-ref 需要什么权限?

权限级别是只读。该 Skill 主要提供规则、说明或参考内容,本身偏只读;真正读写文件、联网或执行命令仍取决于宿主 Agent 的任务。

axiom-lldb-ref 是免费的吗?

公开资料没有标注明确许可证,收费和商用限制都无法确认。正式使用前请到来源仓库核对授权说明。

axiom-lldb-ref 用的人多吗?

公开数据是累计安装 2,619 次,近一周安装 107 次,下载 839 次,GitHub 873 星。这些数字来自第三方目录统计,只能当作热度参考,不代表质量或安全性。

axiom-lldb-ref 安全吗?

第三方扫描结果为通过,但这只覆盖已知的静态检查项,不能替代自己读一遍源码和安装命令。

值得选的地方和要先想清楚的地方

值得选的地方

  • 同时适配 4 种工具,换客户端不用重新找替代品。
  • 第三方扫描已通过,常见的高风险行为没有命中。
  • 标注为只读权限,试用阶段不容易误改本地文件。

先想清楚的地方

  • 许可证没有明确标注,能不能商用、能不能再分发都不确定。
  • 第三方目录整理,版本更新和行为细节以来源仓库为准。

适不适合你

更适合

  • 已经在用 Codex,想直接扩展它能力的人。
  • 需要处理研究检索类任务、又不想每次都手写提示词的人。
  • 只想先试试效果、不希望它改动本地文件的人。

不太适合

  • 需要明确授权才能用到公司项目里的场景。
  • 需要厂商级技术支持和 SLA 的生产系统。

研究检索类 Skill 对比

6 个同类
Skill总安装GitHub 星权限许可证扫描
find-skills

寻找技能 · Codex、Claude

31,199,81316,486操作浏览器MIT有提醒
self-improving-agent

自我改进 Agent · OpenClaw

16,464,0023,396接触敏感数据MIT-0通过
soultrace

灵魂追踪 · Codex、Claude

7,588,94412需要联网未明确有提醒
self-improving

自我完善 · OpenClaw

6,829,2841,046需要联网MIT-0通过
microsoft-foundry

微软代工厂 · Codex、Claude

6,614,144764调用外部服务未明确有提醒
axiom-lldb-ref

公理 lldb 参考 · 本页

2,619873只读未明确通过

按安装量取同分类前几名;数字来自第三方目录统计,只作热度参考,不代表质量结论。

SKILL.md 原文

LLDB Command Reference

Complete command reference for LLDB in Xcode. Organized by task so you can find the exact command you need.

For debugging workflows and decision trees, see /skill axiom-lldb.


Part 1: Variable Inspection

v / frame variable

Reads memory directly. No compilation. Most reliable for Swift values.

(lldb) v                              # All variables in current frame
(lldb) v self                         # Self in current context
(lldb) v self.propertyName            # Specific property
(lldb) v localVariable                # Local variable
(lldb) v self.array[0]               # Collection element
(lldb) v self._showDetails            # SwiftUI @State backing store (underscore prefix)

Flags:

FlagEffect
-d runRun dynamic type resolution (slower but more accurate)
-TShow types
-RShow raw (unformatted) output
-D NLimit depth of nested types to N levels
-P NLimit pointer depth to N levels
-FFlat output (no hierarchy)

Limitations: Cannot evaluate expressions, computed properties, or function calls. Use p for those.

p / expression (with format)

Compiles and executes an expression. Shows formatted result.

(lldb) p self.computedProperty
(lldb) p items.count
(lldb) p someFunction()
(lldb) p String(describing: someValue)
(lldb) p (1...10).map { $0 * 2 }

Result stored in numbered variables:

(lldb) p someValue
$R0 = 42
(lldb) p $R0 + 10
$R1 = 52

po / expression --object-description

Calls debugDescription (or description) on the result.

(lldb) po myObject
(lldb) po error
(lldb) po notification.userInfo
(lldb) po NSHomeDirectory()

When po adds value: Classes with CustomDebugStringConvertible, NSError, NSNotification, collections of objects.

When po fails: Swift structs without CustomDebugStringConvertible, protocol-typed values (use v instead — it performs iterative dynamic type resolution that po doesn't).

expression (full form)

Full expression evaluation with all options.

(lldb) expression self.view.backgroundColor = UIColor.red
(lldb) expression self.debugFlag = true
(lldb) expression myArray.append("test")
(lldb) expression CATransaction.flush()           # Force UI update
(lldb) expression Self._printChanges()             # SwiftUI debug

Flags:

FlagEffect
-l objcEvaluate as Objective-C
-l swiftEvaluate as Swift (default)
-OObject description (same as po)
-i falseStop on breakpoints hit during evaluation (default: ignore)
--Separator between flags and expression

ObjC expressions for Swift debugging:

(lldb) expr -l objc -- (void)[[[UIApplication sharedApplication] keyWindow] recursiveDescription]
(lldb) expr -l objc -- (void)[CATransaction flush]
(lldb) expr -l objc -- (int)[[UIApplication sharedApplication] _isForeground]

register read

Low-level register inspection:

(lldb) register read
(lldb) register read x0 x1                # Specific registers (ARM64)
(lldb) register read --all                # All register sets

Part 2: Breakpoints

Setting Breakpoints

(lldb) breakpoint set -f File.swift -l 42                # File + line
(lldb) b File.swift:42                                    # Short form
(lldb) breakpoint set -n methodName                       # By function name
(lldb) breakpoint set -n "MyClass.myMethod"               # Qualified name
(lldb) breakpoint set -S layoutSubviews                   # ObjC selector
(lldb) breakpoint set -r "viewDid.*"                      # Regex on name
(lldb) breakpoint set -a 0x100abc123                      # Memory address

Conditional Breakpoints

(lldb) breakpoint set -f File.swift -l 42 -c "value == nil"
(lldb) breakpoint set -f File.swift -l 42 -c "index > 100"
(lldb) breakpoint set -f File.swift -l 42 -c 'name == "test"'

Ignore Count

(lldb) breakpoint set -f File.swift -l 42 -i 50          # Skip first 50 hits

One-Shot Breakpoints

(lldb) breakpoint set -f File.swift -l 42 -o             # Delete after first hit

Breakpoint Commands (Logpoints)

Add commands that execute when breakpoint hits:

(lldb) breakpoint command add 1
> v self.state
> p self.items.count
> continue
> DONE

Or in one line:

(lldb) breakpoint command add 1 -o "v self.state"

Exception Breakpoints

(lldb) breakpoint set -E swift                            # All Swift errors
(lldb) breakpoint set -E objc                             # All ObjC exceptions
# Filtering by exception name requires Xcode's GUI (Edit Breakpoint → Exception field)

Symbolic Breakpoints

(lldb) breakpoint set -n UIViewAlertForUnsatisfiableConstraints    # Auto Layout
(lldb) breakpoint set -n "-[UIApplication _run]"                    # App launch
(lldb) breakpoint set -n swift_willThrow                            # Swift throw

Managing Breakpoints

(lldb) breakpoint list                     # List all
(lldb) breakpoint list -b                  # Brief format
(lldb) breakpoint enable 3                 # Enable breakpoint 3
(lldb) breakpoint disable 3                # Disable breakpoint 3
(lldb) breakpoint delete 3                 # Delete breakpoint 3
(lldb) breakpoint delete                   # Delete ALL (asks confirmation)
(lldb) breakpoint modify 3 -c "x > 10"    # Add condition to existing

Watchpoints

Break when a variable's memory changes:

(lldb) watchpoint set variable self.count                  # Watch for write
(lldb) watchpoint set variable -w read_write myGlobal      # Watch for read or write
(lldb) watchpoint set expression -- &myVariable            # Watch memory address
(lldb) watchpoint list                                     # List all
(lldb) watchpoint delete 1                                 # Delete watchpoint 1
(lldb) watchpoint modify 1 -c "self.count > 10"            # Add condition

Note: Hardware watchpoints are limited (~4 per process). Use sparingly.


Part 3: Thread & Backtrace

Backtraces

(lldb) bt                              # Current thread backtrace
(lldb) bt 10                           # Limit to 10 frames
(lldb) bt all                          # All threads
(lldb) thread backtrace all            # Same as bt all

Thread Navigation

(lldb) thread list                     # List all threads with state
(lldb) thread info                     # Current thread details + stop reason
(lldb) thread select 3                 # Switch to thread 3

Frame Navigation

(lldb) frame info                      # Current frame details
(lldb) frame select 5                  # Jump to frame 5
(lldb) up                              # Go up one frame (toward caller)
(lldb) down                            # Shortcut: go down one frame

Thread Return (Skip Code)

Force an early return from the current function:

(lldb) thread return                   # Return void
(lldb) thread return 42                # Return specific value

Use with caution — skips cleanup code, can leave state inconsistent.


Part 4: Expression Evaluation

Swift Expressions

(lldb) expr let x = 42; print(x)
(lldb) expr self.view.backgroundColor = UIColor.red
(lldb) expr UIApplication.shared.windows.first?.rootViewController
(lldb) expr UserDefaults.standard.set(true, forKey: "debug")

Objective-C Expressions

Switch to ObjC when Swift expression parser fails:

(lldb) expr -l objc -- (void)[CATransaction flush]
(lldb) expr -l objc -- (id)[[UIApplication sharedApplication] keyWindow]
(lldb) expr -l objc -- (void)[[NSNotificationCenter defaultCenter] postNotificationName:@"test" object:nil]

UI Debugging Expressions

(lldb) expr -l objc -- (void)[[[UIApplication sharedApplication] keyWindow] recursiveDescription]
(lldb) po UIApplication.shared.windows.first?.rootViewController?.view.recursiveDescription()

SwiftUI Debugging

(lldb) expr Self._printChanges()                # Print what triggered body re-eval (inside view body only)

Runtime Type Information

(lldb) expr type(of: someValue)
(lldb) expr String(describing: type(of: someValue))

Part 5: Process Control

Execution Control

(lldb) continue                        # Resume execution (c)
(lldb) c                               # Short form
(lldb) process interrupt               # Pause running process
(lldb) thread step-over                # Step over (n / next)
(lldb) n                               # Short form
(lldb) thread step-in                  # Step into (s / step)
(lldb) s                               # Short form
(lldb) thread step-out                 # Step out (finish)
(lldb) finish                          # Short form
(lldb) thread step-inst                # Step one instruction (assembly-level)
(lldb) ni                              # Step over one instruction

Process Management

(lldb) process launch                  # Launch/restart
(lldb) process attach --pid 1234       # Attach to running process
(lldb) process attach --name MyApp     # Attach by name
(lldb) process detach                  # Detach without killing
(lldb) kill                            # Kill debugged process

Part 6: Memory & Image

Memory Reading

(lldb) memory read 0x100abc123                    # Read memory at address
(lldb) memory read -c 64 0x100abc123              # Read 64 bytes
(lldb) memory read -f x 0x100abc123               # Format as hex
(lldb) memory read -f s 0x100abc123               # Format as string

Memory Search

(lldb) memory find -s "searchString" -- 0x100000000 0x200000000

Image/Module Inspection

(lldb) image lookup -a 0x100abc123                # Lookup symbol at address
(lldb) image lookup -n myFunction                 # Find function by name
(lldb) image lookup -rn "MyClass.*"               # Regex search
(lldb) image list                                 # List all loaded images/frameworks
(lldb) image list -b                              # Brief format

Common use: Finding which framework a crash address belongs to:

(lldb) image lookup -a 0x1a2b3c4d5

Part 7:.lldbinit & Customization

File Location

LLDB reads ~/.lldbinit at startup. Per-project init files are also supported when configured in Xcode's scheme settings.

Useful Aliases

Add to ~/.lldbinit:

# Quick reload — flush UI changes made via expression
command alias flush expr -l objc -- (void)[CATransaction flush]

# Print view hierarchy
command alias views expr -l objc -- (void)[[[UIApplication sharedApplication] keyWindow] recursiveDescription]

# Print auto layout constraints
command alias constraints po [[UIWindow keyWindow] _autolayoutTrace]

Custom Type Summaries

# Show CLLocationCoordinate2D as "lat, lon"
type summary add CLLocationCoordinate2D --summary-string "${var.latitude}, ${var.longitude}"

Settings

(lldb) settings show target.language              # Current language
(lldb) settings set target.language swift          # Force Swift mode
(lldb) settings set target.max-children-count 100  # Show more collection items

Per-Project.lldbinit

In Xcode: Edit Scheme → Run → Options → "LLDB Init File" field.

Put project-specific aliases and breakpoints in a .lldbinit file in your project root.


Part 8: Troubleshooting LLDB Itself

"expression failed to parse"

Cause: Swift expression parser can't resolve types from the current module.

Fixes:

  1. Use v instead (no compilation needed)
  2. Simplify the expression
  3. Try expr -l objc --... for ObjC-bridge types
  4. Clean derived data and rebuild

"variable not available"

Cause: Compiler optimized the variable out.

Fixes:

  1. Switch to Debug build configuration
  2. Set -Onone for the specific file (Build Settings → per-file compiler flags)
  3. Use register read to check if the value is in a register

"wrong language mode"

Cause: LLDB defaults to ObjC in some contexts (especially in frameworks).

Fix:

(lldb) settings set target.language swift
(lldb) expr -l swift -- mySwiftExpression

"expression caused a crash"

Cause: The expression you evaluated had a side effect that crashed.

Fix:

  1. Don't evaluate expressions that modify state unless you intend to
  2. Use v for read-only inspection
  3. If the crash corrupted state, restart the debug session

LLDB Hangs or Is Slow

Cause: Usually compiling a complex expression or resolving types in a large project.

Fix:

  1. Use v instead of p/po (no compilation)
  2. Reduce expression complexity
  3. If LLDB hangs during po, Ctrl+C to cancel and use v instead

Breakpoint Not Hit

Causes and fixes:

CauseFix
Wrong file/line (code moved)Re-set breakpoint on current code
Breakpoint disabledbreakpoint enable N
Code not executedVerify the code path is reached
Optimized out (Release)Switch to Debug configuration
In a framework/SPM packageSet symbolic breakpoint by function name

Resources

WWDC: 2019-429, 2018-412, 2022-110370, 2015-402

Docs: /xcode/stepping-through-code-and-inspecting-variables-to-isolate-bugs, /xcode/setting-breakpoints-to-pause-your-running-app

Skills: axiom-lldb, axiom-xcode-debugging

平台分布

Codex

34.72%
按下载量换算291

Claude

29.78%
按下载量换算250

Cursor

17.17%
按下载量换算144

Gemini CLI

9.76%
按下载量换算82

安全审计

Gen Agent Trust Hub

通过

Socket

通过

Snyk

通过

权限和风险

只读

该 Skill 主要提供规则、说明或参考内容,本身偏只读;真正读写文件、联网或执行命令仍取决于宿主 Agent 的任务。

安装前确认

本站仅展示第三方公开信息,不托管安装包,不提供自动安装或运行环境。安装前应自行审查源码、依赖和命令行为。目前只有一个公开来源,建议同时核对源仓库。

继续浏览同类 Skills