You should debug code only in the Integration environment. You should debug in the Preproduction/Production environments only when absolutely necessary. Contact Optimizely to submit a support ticket for remote debugging.
Contact Optimizely to get access to your DXP-specific resources in the Azure portal, so that you can monitor and troubleshoot your solutions. When logged in, the Azure portal will display information as in the example below.
You need to enable debugging in both the Azure Portal and Visual Studio. You first allow remote debugging in the Azure portal, and then attach to the correct process in Visual Studio.
See Microsoft’s Remote Debugger Port Assignments to ensure your remote debugger’s IP address is connected.
- In the Azure portal, select App Services.
- Select an Integration environment from the App Services list.
- Select Settings > Configuration.
- Open the General settings tab and go to the Debuggingsection.
a. Set Remote debugging to On.
b. Set Remote Visual Studio version to the version being used.
- In Visual Studio, select View > Cloud Explorer.
- Click the person icon to display your subscriptions.
- Select your subscription and click Apply.
- Select subscription > App Services > and right-click on the Integration environment (a subscription with an inte suffix) and select Attach Debugger.
If a connection error occurs with the URL of the site being loaded, go back to the Azure portal, select Settings > Custom domains to obtain the IP address that is used by the URL. Add this IP address and the URL from the error message to the hosts file on the machine (located at C:\Windows\System32\drivers\etc\hosts). For example:
If you get an error message - ”Unable to connect to the Microsoft Visual Studio Remote Debugger” - fix this with the following procedure:
- Get the development machine's public IP.
- In the Azure portal, go to AppService > Networking > Access restrictions.
- Place the public IP on the allow list.
Then repeat step 8.
Optimizely supports writing to the diagnostics log using BLOB storage. See Logging into .Net Diagnostics Trace for more details on how this works.
To activate the logging:
- Select App Services for the Integration environment, and go to Diagnostics log.
- Set the Application Logging (Blob) to On, select desired Level of verbosity, and select a storage account and container under Storage Settings.
- Click Save when done.
The Web App will restart when activating the logging.
Access the website log files in the integration environment using any of the methods described in this section.
Use the download/FTP options available in Azure Portal under Diagnostics logs for the environment.
Azure websites have an associated "scm" service site, where you can run site extension tools. For DXP, the Kudu services tool is available with your access to the Azure Portal.
To access the service tool, you add an "scm" segment to the environment site URL, for example https://epvscms3p60ginte.**scm**.azurewebsites.net/
The service tool lets you access files for the site, and display information in Optimizely logs available under site/wwwroot/appdata and logfiles/eventlog.
You might find it useful to turn on detailed ASP.NET error messages in web.config for your solution in the Integration environment, as an additional tool when debugging.
Updated 8 months ago