Wednesday, October 26, 2016

A guide to debugging the Microsoft Dynamics AX Debugger

Debugging the AX Debugger can be a little bugger'. Here are a few things to check for as to why you aren't able to debug some code.
  • Make sure your user is added to the Debugger group on the instance your in
    • IMPORTANT: You'll want to log out and back into your instance. This means actually logging out and not just close and reopen AX and/or the RDP session. 
    • This might be the issue if the debugger pops up but is greyed out and AX seems to have acknowledged the breakpoint but breezed right past it
  • Make sure your breakpoints are set and enabled and not 'disabled'. 
    • There is a button next to the set breakpoints in the toolbar that allow enable/disable
  • Assure the code where your breakpoint is is actually being hit.
    • This is a make sure its plugged in type response but you'd be surprised how common it is...
  • In your user options under Development tab, make sure the 'Debug mode' is set to 'When Breakpoint'
  • The breakpoint might be set in a spot that the debugger can't hit. For example, the clicked method on a button.
    • adding a line of code for 'breakpoint;' rather than using the red dot breakpoints will allow you to debug these methods
  • If the code is running in the CIL, you may need to make the code run on the client. 
    • Go to your user options > 'Development' tab and uncheck 'Execute business operations in CIL'. 
  • If the code is running in batch, you'll need to debug this process via Visual Studio. The breakpoints in AX are for client processes only generally. 
  • You may need to adjust the breakpoint check boxes in the Dynamics AX Configuration Utility under the Developer tab. There are two settings there: 'Enable user breakpoints to debug code in the business connector' and 'Enable global breakpoints to debug code running in the Business Connector or client'
  • Check the AOS debugger settings. Dont remember what this check box(es) are called but there is something on the AX AOS config that can be a factor.