Skip to main content

debugging

Debugging techniques and tools for IntelliJ development. Use when debugging IDE issues or investigating failures.

معلومات المصدر

المستودع
JetBrains/MPS
آخر نشاط في المصدر
١٤ أبريل ٢٠٢٦ في ١٧:٢٢
لغة SKILL.md المكتشفة
الإنجليزية
النجوم
١٬٦٦٢
التفرعات
٣٠٧

خيارات التثبيت

يُحدَّد Prompt الذي يراجع المصدر أولًا بشكل افتراضي. يمكنك التبديل إلى أمر مباشر أو تنزيل نسخة محلية.

مراجعة ملفات المصدر

اقرأ SKILL.md وأي ملفات مرافقة يعرضها SkillsMP قبل أن تقرر التثبيت.

عرض SKILL.md

SKILL.md
تعليمات المصدر · معاينة للقراءة فقط
name
debugging
description
Debugging techniques and tools for IntelliJ development. Use when debugging IDE issues or investigating failures.
# Debugging ## Documentation - [Logger FAQ](../../../../docs/IntelliJ-Platform/4_man/Logger.md) - Frequently asked questions about logging - [How to Investigate Freezes](../../../../docs/IntelliJ-Platform/4_man/Performance/How-To-Investigate-Freezes.md) - Diagnosing IDE freezes - [Exception Analyzing FAQ](../../../../docs/IntelliJ-Platform/4_man/Exception-Analyzing-FAQ.md) - Analyzing and categorizing exceptions ## Searching idea.log When debugging IntelliJ code, search `idea.log` using these patterns: **Log Levels:** - `FINE` = debug level (from `LOG.debug { }`) - `INFO` = info level (from `LOG.info()`) **Category Format:** `#<abbreviated.package.path>.<ClassName>` Example: `com.intellij.openapi.wm.impl.status.IdeStatusBarImpl` → `#c.i.o.w.i.s.IdeStatusBarImpl` **Search Examples:** ```bash # Debug logs from IdeStatusBarImpl grep "FINE - #c.i.o.w.i.s.IdeStatusBarImpl" idea.log # Info logs from IdeStatusBarImpl grep "INFO - #c.i.o.w.i.s.IdeStatusBarImpl" idea.log # All logs from a class grep "#c.i.o.w.i.s.IdeStatusBarImpl" idea.log ``` ## End-to-End Behavior When fixing issues where a user-facing entry point (script, command, API) doesn't behave as expected: 1. **Trace the full execution chain** from entry point to actual executor before making changes 2. **Identify all layers** that handle the relevant behavior - each layer may swallow, transform, or ignore it 3. **Verify the fix at the entry point** the user actually invokes, not just at the layer you modified 4. **Add debugging output** if still unsure - add to all layers to trace the issue
عرض على GitHub