AX各種デバッグ方法

(Microsoft Dynamics AX Debugger)
https://msdn.microsoft.com/en-us/library/aa569668.aspx

(Walkthrough: Debugging a Batch that Runs on the AOS)
https://msdn.microsoft.com/en-US/library/cc588679.aspx

(How to Debug X++ Code Running in .NET Business Connector)
https://msdn.microsoft.com/en-us/library/bb190066.aspx

<< SSRS レポート>>
(SSRS レポートのデバッグ方法)
(Debugging Microsoft Dynamics AX 2009 SSRS reports with Microsoft Visual Studio 2008)
https://blogs.msdn.com/b/emeadaxsupport/archive/2009/07/16/debugging-the-business-logic-in-microsoft-dynamics-ax-2009-ssrs-reports-with-microsoft-visual-studio-2008.aspx

(How Do I: Debug AX 2009 SSRS Reports with VS2008?)
https://msdn.microsoft.com/en-us/dynamics/ax/ee460774.aspx

<<エンタープライズポータル>>
(Enterprise Portalから実行されるX++コードのデバッグ方法)
https://msdn.microsoft.com/en-US/library/aa629010.aspx

(Webコントロールのデバッグ方法)
https://msdn.microsoft.com/en-us/library/cc567649.aspx

<<ワークフロー>>
https://msdn.microsoft.com/en-US/library/dd638052.aspx

<<AIF>>
How to: Trace a Call to an AIF Web Service
https://msdn.microsoft.com/en-us/library/cc967372.aspx

(AIFのデバッグ方法 - ファイルアダプタ)
1. Setup the file adapter.
2. a) Under Tools > Options, the Development tab set debug Mode to “When Breakpoint”
b) Enable breakpoints for the client configuration, developer tab this is for both the client configuration and Business Connector configuration targets
c) In the AOT navigate to the AifInboundProcessingService Class
1) Make the processAsUser() method public
2) Under the runAsWrapper() method comment out the following and add the AifInbound Processing Service line:

//Switch to context of the source endpoint user who sent this message
//Doesn't switch to the correct company, since we don't
//yet know which company to switch to.
// BP deviation documented
//runas(message.sourceEndpointAxUserId(),
//classnum(AifInboundProcessingService),
//staticmethodstr(AifInboundProcessingService, processAsUser),
//[message.pack(), messageId]);

//Revert the permission
AifInboundProcessingService::processAsUser(messageIdContainer); //NOTE THAT THIS LINE GETS ADDED
//CodeAccessPermission::revertAssert();

3. Then use a job with the following code to test the file adapter - it works just as the batches would but is more convenient for testing purposes:
AifGatewayReceiveService agrs = new AifGatewayReceiveService();
AifInboundProcessingService aip = new AifInboundProcessingService();
AifGatewaySendService agss = new AifGatewaySendService();
AifOutboundProcessingService aop = new AifOutboundProcessingService();
;
agrs.run();
aip.run();
agss.run();
aop.run();