AgentSkillsCN

Wheels Debugging

针对 Wheels 应用中常见的错误进行排查,并提供详尽的调试指导。当遇到错误、异常或意外行为时,可借助此功能快速定位问题根源,获取常见解决方案与调试策略。

SKILL.md
--- frontmatter
name: Wheels Debugging
description: Troubleshoot common Wheels errors and provide debugging guidance. Use when encountering errors, exceptions, or unexpected behavior. Provides error analysis, common solutions, and debugging strategies for Wheels applications.

Wheels Debugging

Common Errors

"Missing argument name" Error

Cause: Mixed positional and named arguments

Solution: Use consistent argument style

cfm
❌ hasMany("comments", dependent="delete")
✅ hasMany(name="comments", dependent="delete")

"Can't cast Object type [Query] to [Array]"

Cause: Using Array functions on queries

Solution: Use query methods

cfm
❌ ArrayLen(post.comments())
✅ post.comments().recordCount

"Association not found" Error

Cause: Association not properly defined or typo

Solution:

  1. Check model config() for association definition
  2. Verify association name matches
  3. Check model name spelling

"Table not found" Error

Cause: Migration not run or table name mismatch

Solution:

bash
wheels dbmigrate latest

"Column not found" Error

Cause: Property doesn't exist in database

Solution:

  1. Add column via migration
  2. Check property name spelling
  3. Verify case sensitivity

Debugging Tools

Enable Debug Output

cfm
// In config/settings.cfm
set(showDebugInformation=true);
set(showErrorInformation=true);

Inspect Variables

cfm
<cfdump var="#post#" label="Post Object">
<cfabort>

Check SQL Queries

cfm
// Wheels logs all SQL to debugging output
// Look for red SQL queries (errors)

Generated by: Wheels Debugging Skill v1.0