blob: 8f028a4fda933e6ee56d909703e014ce37ddd0ae [file] [log] [blame] [view]
---
layout: core-developers
title: Debugging
---
# Debugging
Modern IDEs provide excellent support for debugging. In addition, the framework provides support for inspecting
framework-specific objects at runtime.
The [Debugging Interceptor](debugging-interceptor.html) provides three debugging modes to provide insight into the data
behind the page. The `xml` mode formats relevant framework objects as an XML document. The `console` mode provides
a OGNL command line that accepts entry of runtime expressions, and the `browser` mode adds an interactive page that
display objects from the Value Stack.
To use the debugging, first be sure that `struts.devMode` is set to `true` is enabled through
the [struts.properties](struts-properties.html) file or `struts.xml` file, like:
```xml
<constant name="struts.devMode" value="true" />
```
Then, whenever a page needs debugging, add `?debug=xml` or `?debug=console` or `?debug=browser` to the URL.
```xml
<debug>
<parameters />
<context>
<struts.actionMapping>
<class>class org.apache.struts2.dispatcher.mapper.ActionMapping</class>
<name>showcase</name>
<namespace>/</namespace>
</struts.actionMapping>
<attr />
<__devMode>true</__devMode>
<report.conversion.errors>false</report.conversion.errors>
</context>
<request />
<session />
<valueStack>
<value>
<actionErrors />
<actionMessages />
<class>class com.opensymphony.xwork2.ActionSupport</class>
<errorMessages />
<errors />
<fieldErrors />
<locale>
<ISO3Country>USA</ISO3Country>
<ISO3Language>eng</ISO3Language>
<class>class java.util.Locale</class>
<country>US</country>
<displayCountry>United States</displayCountry>
<displayLanguage>English</displayLanguage>
<displayName>English (United States)</displayName>
<displayVariant />
<language>en</language>
<variant />
</locale>
</value>
<value>
<class>class com.opensymphony.xwork2.DefaultTextProvider</class>
</value>
</valueStack>
</debug>
```
For `?debug=xml` use Internet Explorer or an [IE tab in FireFox](http://ietab.mozdev.org/).
For `?debug=console` you may need to relax any popup blockers.