Skip to main content

Compiler Debug Tracking

Gain deep visibility into every step of the compile process โ€” with traceable logs, source mapping, and error diagnostics.

What Is Compiler Debug Tracking?

Compiler Debug Tracking in JCB is a system of detailed, structured logs that record how your Joomla component is compiled โ€” step by step, file by file, entity by entity. It allows you to inspect how each part of your blueprint is transformed into real code, helping you troubleshoot build errors, analyze output behavior, and improve component performance.

These logs include execution traces, source locations, entity references, UUIDs, compiler stages, overrides, and injected code. Theyโ€™re generated automatically during every build, making JCB both transparent and developer-friendly.

This feature is essential for debugging complex components, understanding how JCB works under the hood, and verifying that your logic is compiled as expected.

Key Features

  • ๐Ÿง  Detailed Step-by-Step Logs: Tracks every action the compiler takes: field processing, view rendering, file writing, permission registration, layout binding, etc.
  • ๐Ÿ“ Per-File and Per-Entity Logging: Every view, model, controller, layout, snippet, and field that contributes to the build is logged by name, UUID, and type.
  • ๐Ÿ” Tracks Insert/Replace & Custom Code: Logs when insert or replace tags are found, skipped, injected, or unmatched โ€” great for verifying persistence behavior.
  • ๐Ÿชช UUID Tracing: Each entity used in compilation is logged with its unique ID, so you can trace issues back to their source โ€” even across imported blueprints.
  • ๐Ÿ” View Compile Paths: See exactly how a model was rendered, how a layout was built, or which template was merged โ€” with nesting depth and order.
  • ๐Ÿšจ Error Logging & Fail-Safe Reporting: Syntax issues, unresolved placeholders, unsupported values, or permission errors are logged with full stack trace.
  • ๐Ÿ—ƒ Override Detection Flags: Changes to manually edited files are flagged and reported as override warnings with suggestions for Insert/Replace usage.
  • ๐Ÿงพ Summary Report: At the end of each compile, a summary is generated: files created, overrides skipped, logic blocks injected, total time, and component size.

Use Cases

  • ๐Ÿ”Ž Diagnose missing or incorrect logic after compile
  • ๐Ÿงฉ Trace where a custom code block is injected (and where it isn't)
  • ๐Ÿช› Debug broken permissions or menu routing behavior
  • ๐Ÿง  Understand how a GET query results in a generated model method
  • ๐Ÿ“‹ Validate which fields, views, and snippets contributed to final file output
  • ๐Ÿ’ฅ Find and fix compiler errors quickly in complex setups

How to Access Compiler Logs

  1. Enable debug mode in the JCB global settings (or in the compile view).
  2. Compile your component.
  3. After compilation, view:
    • ๐Ÿ“ A compile summary at the bottom of the compile page.
    • ๐Ÿ—‚ Full logs stored in /logs or visible in the JCB GUI under Build โ†’ Compile Logs (if enabled).
  4. Youโ€™ll see logs grouped by:
    • Type (view, field, layout, etc.)
    • Action (compiled, injected, overridden, skipped)
    • UUID and title

๐Ÿง  Pro Tip: Use the line tracking and insert tag comments in your compiled files to match what you see in the logs.

Learn More

  • ๐Ÿ“˜ JCB Wiki: Compiler Debug Tools
  • ๐ŸŽฅ Video: Debugging Complex Components in JCB
  • ๐Ÿงช JCB Tips: What to Check When a Compile Fails
  • ๐Ÿงพ Sample Debug Log Reference

Conclusion

Compiler Debug Tracking is your backstage pass to the entire build process. Whether youโ€™re debugging a failed compile or simply curious how things work, JCB provides a clear, detailed breakdown of everything it does. It's an essential tool for serious developers working with custom Joomla components at scale.