debugging and troubleshooting

🐛 Debugging and Troubleshooting

Safety Notice

This listing is imported from skills.sh public index metadata. Review upstream SKILL.md and repository scripts before running.

Copy this and send it to your AI assistant to learn

Install skill "debugging and troubleshooting" with this command: npx skills add shunsukehayashi/miyabi-claude-plugins/shunsukehayashi-miyabi-claude-plugins-debugging-and-troubleshooting

🐛 Debugging and Troubleshooting

Version: 2.0.0 Last Updated: 2025-11-22 Priority: ⭐⭐⭐⭐ (P1 Level) Purpose: 体系的なエラー診断とRustデバッグワークフロー

📋 概要

コンパイルエラー、テスト失敗、ランタイムエラーに対する 体系的な診断と解決ワークフローを提供します。

🎯 P0: 呼び出しトリガー

トリガー 例

動作不良 "this code isn't working"

テスト失敗 "why is this test failing?"

エラー解析 "debug this error"

コンパイルエラー "compilation error"

ランタイムエラー "runtime panic"

🔧 P1: エラー分類と対処

エラー分類表

分類 症状 診断コマンド 優先度

コンパイルエラー error[E####]

cargo check

テスト失敗 test ... FAILED

cargo test -- --nocapture

ランタイムpanic thread 'main' panicked

RUST_BACKTRACE=1

ロジックエラー 期待と異なる出力 dbg!() , ログ 中

パフォーマンス 遅い・メモリ大 cargo bench , valgrind

統合エラー 外部サービス失敗 ネットワーク診断 低

🚀 P2: デバッグパターン

Pattern 1: コンパイルエラー

Step 1: エラー確認

cargo check 2>&1 | head -50

Step 2: エラーコード解析

error[E0277] → Trait未実装

error[E0412] → 型未定義

error[E0433] → モジュール未解決

Step 3: 詳細情報

rustc --explain E0277

よくあるエラーと解決:

エラーコード 原因 解決策

E0277 Trait未実装 #[derive(...)] または手動実装

E0412 型が見つからない use 文追加

E0433 モジュール解決失敗 パス確認、mod 宣言

E0502 借用競合 借用スコープ見直し

E0382 所有権移動後使用 clone() または参照

Pattern 2: テスト失敗

Step 1: 失敗テスト特定

cargo test 2>&1 | grep FAILED

Step 2: 詳細出力で実行

cargo test test_name -- --nocapture

Step 3: 順次実行(並列問題回避)

cargo test -- --test-threads=1

Step 4: アサーション詳細

pretty_assertions, insta使用推奨

Pattern 3: ランタイムpanic

Step 1: バックトレース取得

RUST_BACKTRACE=1 cargo run

Step 2: 完全バックトレース

RUST_BACKTRACE=full cargo run

Step 3: panic箇所特定

at src/lib.rs:42:5 を確認

Step 4: デバッガ使用

rust-lldb target/debug/miyabi

Pattern 4: ロジックエラー

// dbg!マクロ使用 let result = dbg!(compute_value());

// tracing使用 tracing::debug!(?value, "computed value");

// 条件付きログ if cfg!(debug_assertions) { println!("Debug: {:?}", state); }

⚡ P3: 高度なデバッグツール

デバッグツール一覧

ツール 用途 コマンド

rust-lldb

デバッガ rust-lldb target/debug/miyabi

cargo-expand

マクロ展開 cargo expand

cargo-asm

アセンブリ確認 cargo asm

valgrind

メモリ診断 valgrind ./target/debug/miyabi

miri

UB検出 cargo +nightly miri test

VS Codeデバッグ設定

{ "type": "lldb", "request": "launch", "name": "Debug Miyabi", "cargo": { "args": ["build", "--bin=miyabi"] }, "args": [], "cwd": "${workspaceFolder}" }

🛡️ 共通パニック対処

パニック 原因 対処

unwrap() on None Option未処理 if let Some / ?

unwrap() on Err Result未処理 match / ?

index out of bounds 配列範囲外 .get() / bounds check

overflow 算術オーバーフロー checked_* / wrapping_*

stack overflow 無限再帰 再帰ロジック見直し

✅ 成功基準

チェック項目 基準

エラー分類 正確な分類

根本原因特定 原因明確化

解決策提示 具体的な修正方法

再発防止 テスト追加

🔗 関連Skills

  • Rust Development: ビルド・テスト

  • Performance Analysis: パフォーマンス問題

  • Security Audit: セキュリティ問題

Source Transparency

This detail page is rendered from real SKILL.md content. Trust labels are metadata-based hints, not a safety guarantee.

Related Skills

Related by shared tags or category signals.

General

sales and crm management

No summary provided by upstream source.

Repository SourceNeeds Review
General

business strategy and planning

No summary provided by upstream source.

Repository SourceNeeds Review
General

content marketing and social media strategy

No summary provided by upstream source.

Repository SourceNeeds Review
General

growth analytics and dashboard management

No summary provided by upstream source.

Repository SourceNeeds Review