<!DOCTYPE html>
<html lang="en">
<head>
  <meta charset="UTF-8"/>
  <meta name="viewport" content="width=device-width, initial-scale=1.0"/>
  <meta name="Date-Revision-yyyymmdd" content="20140918"/>
  <meta http-equiv="Content-Language" content="en"/>
  <meta http-equiv="X-UA-Compatible" content="IE=edge,chrome=1">

  <title>Debugging</title>

  <link href="//fonts.googleapis.com/css?family=Source+Sans+Pro:300,400,600,700,400italic,600italic,700italic" rel="stylesheet" type="text/css">
  <link href="//netdna.bootstrapcdn.com/font-awesome/4.0.3/css/font-awesome.css" rel="stylesheet">
  <link href="/css/main.css" rel="stylesheet">
  <link href="/css/custom.css" rel="stylesheet">
  <link href="/highlighter/github-theme.css" rel="stylesheet">

  <script src="//code.jquery.com/jquery-1.11.0.min.js"></script>
  <script type="text/javascript" src="/bootstrap/js/bootstrap.js"></script>
  <script type="text/javascript" src="/js/community.js"></script>
</head>
<body>

<a href="http://github.com/apache/struts" class="github-ribbon">
  <img style="position: absolute; right: 0; border: 0;" src="https://s3.amazonaws.com/github/ribbons/forkme_right_red_aa0000.png" alt="Fork me on GitHub">
</a>

<header>
  <nav>
    <div role="navigation" class="navbar navbar-default navbar-fixed-top">
      <div class="container">
        <div class="navbar-header">
          <button type="button" data-toggle="collapse" data-target="#struts-menu" class="navbar-toggle">
            Menu
            <span class="sr-only">Toggle navigation</span>
            <span class="icon-bar"></span>
            <span class="icon-bar"></span>
            <span class="icon-bar"></span>
          </button>
          <a href="/index.html" class="navbar-brand logo"><img src="/img/struts-logo.svg"></a>
        </div>
        <div id="struts-menu" class="navbar-collapse collapse">
          <ul class="nav navbar-nav">
            <li class="dropdown">
              <a data-toggle="dropdown" href="#" class="dropdown-toggle">
                Home<b class="caret"></b>
              </a>
              <ul class="dropdown-menu">
                <li><a href="/index.html">Welcome</a></li>
                <li><a href="/download.cgi">Download</a></li>
                <li><a href="/releases.html">Releases</a></li>
                <li><a href="/announce.html">Announcements</a></li>
                <li><a href="http://www.apache.org/licenses/">License</a></li>
                <li><a href="https://www.apache.org/foundation/thanks.html">Thanks!</a></li>
                <li><a href="https://www.apache.org/foundation/sponsorship.html">Sponsorship</a></li>
              </ul>
            </li>
            <li class="dropdown">
              <a data-toggle="dropdown" href="#" class="dropdown-toggle">
                Support<b class="caret"></b>
              </a>
              <ul class="dropdown-menu">
                <li><a href="/mail.html">User Mailing List</a></li>
                <li><a href="https://issues.apache.org/jira/browse/WW">Issue Tracker</a></li>
                <li><a href="/security.html">Reporting Security Issues</a></li>
                <li class="divider"></li>
                <li><a href="https://cwiki.apache.org/confluence/display/WW/Migration+Guide">Version Notes</a></li>
                <li><a href="https://cwiki.apache.org/confluence/display/WW/Security+Bulletins">Security Bulletins</a></li>
                <li class="divider"></li>
                <li><a href="/maven/project-info.html">Maven Project Info</a></li>
                <li><a href="/maven/struts2-core/dependencies.html">Struts Core Dependencies</a></li>
                <li><a href="/maven/struts2-plugins/modules.html">Plugin Dependencies</a></li>
              </ul>
            </li>
            <li class="dropdown">
              <a data-toggle="dropdown" href="#" class="dropdown-toggle">
                Documentation<b class="caret"></b>
              </a>
              <ul class="dropdown-menu">
                <li><a href="/birdseye.html">Birds Eye</a></li>
                <li><a href="/primer.html">Key Technologies</a></li>
                <li><a href="/kickstart.html">Kickstart FAQ</a></li>
                <li><a href="https://cwiki.apache.org/confluence/display/WW/Home">Wiki</a></li>
                <li class="divider"></li>
                <li><a href="/getting-started/">Getting Started</a></li>
                <li><a href="/security/">Security Guide</a></li>
                <li><a href="/core-developers/">Core Developers Guide</a></li>
                <li><a href="/tag-developers/">Tag Developers Guide</a></li>
                <li><a href="/maven-archetypes/">Maven Archetypes</a></li>
                <li><a href="/plugins/">Plugins</a></li>
                <li><a href="/maven/struts2-core/apidocs/index.html">Struts Core API</a></li>
                <li><a href="/tag-developers/tag-reference.html">Tag reference</a></li>
                <li><a href="https://cwiki.apache.org/confluence/display/WW/FAQs">FAQs</a></li>
                <li><a href="http://cwiki.apache.org/S2PLUGINS/home.html">Plugin registry</a></li>
              </ul>
            </li>
            <li class="dropdown">
              <a data-toggle="dropdown" href="#" class="dropdown-toggle">
                Contributing<b class="caret"></b>
              </a>
              <ul class="dropdown-menu">
                <li><a href="/youatstruts.html">You at Struts</a></li>
                <li><a href="/helping.html">How to Help FAQ</a></li>
                <li><a href="/dev-mail.html">Development Lists</a></li>
                <li><a href="/contributors/">Contributors Guide</a></li>
                <li class="divider"></li>
                <li><a href="/submitting-patches.html">Submitting patches</a></li>
                <li><a href="/builds.html">Source Code and Builds</a></li>
                <li><a href="/coding-standards.html">Coding standards</a></li>
                <li><a href="https://cwiki.apache.org/confluence/display/WW/Contributors+Guide">Contributors Guide</a></li>
                <li class="divider"></li>
                <li><a href="/release-guidelines.html">Release Guidelines</a></li>
                <li><a href="/bylaws.html">PMC Charter</a></li>
                <li><a href="/volunteers.html">Volunteers</a></li>
                <li><a href="https://gitbox.apache.org/repos/asf?p=struts.git">Source Repository</a></li>
                <li><a href="/updating-website.html">Updating the website</a></li>
              </ul>
            </li>
            <li class="apache"><a href="http://www.apache.org/"><img src="/img/apache.png"></a></li>
          </ul>
        </div>
      </div>
    </div>
  </nav>
</header>


<article class="container">
  <section class="col-md-12">
    <a href="index.html" title="back to Core Developers Guide"><< back to Core Developers Guide</a>
    <a class="edit-on-gh" href="https://github.com/apache/struts-site/edit/master/source/core-developers/debugging.md" title="Edit this page on GitHub">Edit on GitHub</a>
    <h1 id="debugging">Debugging</h1>

<p>Modern IDEs provide excellent support for debugging. In addition, the framework provides support for inspecting
framework-specific objects at runtime.</p>

<p>The <a href="debugging-interceptor.html">Debugging Interceptor</a> provides three debugging modes to provide insight into the data 
behind the page. The <code class="highlighter-rouge">xml</code> mode formats relevant framework objects as an XML document. The <code class="highlighter-rouge">console</code> mode provides 
a OGNL command line that accepts entry of runtime expressions, and the <code class="highlighter-rouge">browser</code> mode adds an interactive page that 
display objects from the Value Stack.</p>

<p>To use the debugging, first be sure that <code class="highlighter-rouge">struts.devMode</code> is set to <code class="highlighter-rouge">true</code> is enabled through 
the <a href="struts-properties.html">struts.properties</a> file or <code class="highlighter-rouge">struts.xml</code> file, like:</p>

<div class="language-xml highlighter-rouge"><div class="highlight"><pre class="highlight"><code><span class="nt">&lt;constant</span> <span class="na">name=</span><span class="s">"struts.devMode"</span> <span class="na">value=</span><span class="s">"true"</span> <span class="nt">/&gt;</span>
</code></pre></div></div>

<p>Then, whenever a page needs debugging, add <code class="highlighter-rouge">?debug=xml</code> or <code class="highlighter-rouge">?debug=console</code> or <code class="highlighter-rouge">?debug=browser</code> to the URL.</p>

<div class="language-xml highlighter-rouge"><div class="highlight"><pre class="highlight"><code><span class="nt">&lt;debug&gt;</span>
     <span class="nt">&lt;parameters</span> <span class="nt">/&gt;</span> 
     <span class="nt">&lt;context&gt;</span>
        <span class="nt">&lt;struts.actionMapping&gt;</span>
        <span class="nt">&lt;class&gt;</span>class org.apache.struts2.dispatcher.mapper.ActionMapping<span class="nt">&lt;/class&gt;</span> 
        <span class="nt">&lt;name&gt;</span>showcase<span class="nt">&lt;/name&gt;</span> 
        <span class="nt">&lt;namespace&gt;</span>/<span class="nt">&lt;/namespace&gt;</span> 
        <span class="nt">&lt;/struts.actionMapping&gt;</span>
        <span class="nt">&lt;attr</span> <span class="nt">/&gt;</span> 
        <span class="nt">&lt;__devMode&gt;</span>true<span class="nt">&lt;/__devMode&gt;</span> 
        <span class="nt">&lt;report.conversion.errors&gt;</span>false<span class="nt">&lt;/report.conversion.errors&gt;</span> 
    <span class="nt">&lt;/context&gt;</span>
    <span class="nt">&lt;request</span> <span class="nt">/&gt;</span> 
    <span class="nt">&lt;session</span> <span class="nt">/&gt;</span> 
    <span class="nt">&lt;valueStack&gt;</span>
        <span class="nt">&lt;value&gt;</span>
            <span class="nt">&lt;actionErrors</span> <span class="nt">/&gt;</span> 
            <span class="nt">&lt;actionMessages</span> <span class="nt">/&gt;</span> 
            <span class="nt">&lt;class&gt;</span>class com.opensymphony.xwork2.ActionSupport<span class="nt">&lt;/class&gt;</span> 
            <span class="nt">&lt;errorMessages</span> <span class="nt">/&gt;</span> 
            <span class="nt">&lt;errors</span> <span class="nt">/&gt;</span> 
            <span class="nt">&lt;fieldErrors</span> <span class="nt">/&gt;</span> 
            <span class="nt">&lt;locale&gt;</span>
                <span class="nt">&lt;ISO3Country&gt;</span>USA<span class="nt">&lt;/ISO3Country&gt;</span> 
                <span class="nt">&lt;ISO3Language&gt;</span>eng<span class="nt">&lt;/ISO3Language&gt;</span> 
                <span class="nt">&lt;class&gt;</span>class java.util.Locale<span class="nt">&lt;/class&gt;</span> 
                <span class="nt">&lt;country&gt;</span>US<span class="nt">&lt;/country&gt;</span> 
                <span class="nt">&lt;displayCountry&gt;</span>United States<span class="nt">&lt;/displayCountry&gt;</span> 
                <span class="nt">&lt;displayLanguage&gt;</span>English<span class="nt">&lt;/displayLanguage&gt;</span> 
                <span class="nt">&lt;displayName&gt;</span>English (United States)<span class="nt">&lt;/displayName&gt;</span> 
                <span class="nt">&lt;displayVariant</span> <span class="nt">/&gt;</span> 
                <span class="nt">&lt;language&gt;</span>en<span class="nt">&lt;/language&gt;</span> 
                <span class="nt">&lt;variant</span> <span class="nt">/&gt;</span> 
            <span class="nt">&lt;/locale&gt;</span>
        <span class="nt">&lt;/value&gt;</span>
        <span class="nt">&lt;value&gt;</span>
            <span class="nt">&lt;class&gt;</span>class com.opensymphony.xwork2.DefaultTextProvider<span class="nt">&lt;/class&gt;</span> 
        <span class="nt">&lt;/value&gt;</span>
    <span class="nt">&lt;/valueStack&gt;</span>
<span class="nt">&lt;/debug&gt;</span>
</code></pre></div></div>

<p>For <code class="highlighter-rouge">?debug=xml</code> use Internet Explorer or an <a href="http://ietab.mozdev.org/">IE tab in FireFox</a>.</p>

<p>For <code class="highlighter-rouge">?debug=console</code> you may need to relax any popup blockers.</p>

  </section>
</article>


<footer class="container">
  <div class="col-md-12">
    Copyright &copy; 2000-2018 <a href="http://www.apache.org/">The Apache Software Foundation </a>.
    All Rights Reserved.
  </div>
  <div class="col-md-12">
    Apache Struts, Struts, Apache, the Apache feather logo, and the Apache Struts project logos are
    trademarks of The Apache Software Foundation.
  </div>
  <div class="col-md-12">Logo and website design donated by <a href="https://softwaremill.com/">SoftwareMill</a>.</div>
</footer>

<script>!function (d, s, id) {
  var js, fjs = d.getElementsByTagName(s)[0];
  if (!d.getElementById(id)) {
    js = d.createElement(s);
    js.id = id;
    js.src = "//platform.twitter.com/widgets.js";
    fjs.parentNode.insertBefore(js, fjs);
  }
}(document, "script", "twitter-wjs");</script>
<script src="https://apis.google.com/js/platform.js" async="async" defer="defer"></script>

<div id="fb-root"></div>

<script>(function (d, s, id) {
  var js, fjs = d.getElementsByTagName(s)[0];
  if (d.getElementById(id)) return;
  js = d.createElement(s);
  js.id = id;
  js.src = "//connect.facebook.net/en_GB/all.js#xfbml=1";
  fjs.parentNode.insertBefore(js, fjs);
}(document, 'script', 'facebook-jssdk'));</script>


</body>
</html>
