27
Views
12
Comments
can we debug code in production in O11,

can we debug code in production in O11,

is it safe to debug a small piece of code in prod/ aggregate filters?

are there any special considerations we need to take?

2023-06-13 12-29-43
Sakthivel P

Hi @Priya Naveen,

Technically yes, but strongly discouraged. 

Only if absolutely necessary and the change has zero side effects.
Even small debug sessions cause performance overhead and may expose data. 

Special considerations

  • Debugging pauses server threads → risk of slowdowns or timeouts.

  • Never debug during peak traffic.

  • Avoid breakpoints on loops, timers, or frequently called actions.

2020-09-15 13-07-23
Kilian Hekhuis
 
MVP

Hi Priya,

You cannot debug in Production, at least not with OutSystems (though you could of course debug Reactive via dev tools). If you try to start the debugger in Production, Service Studio will warn you this is not possible.

2024-10-12 12-11-20
Kerollos Adel
Champion

Hallo @Priya Naveen  

You can implement logs, but enabling debug is not technically or practically feasible at the production level. Additionally, avoid logging any sensitive data, and this should be done in coordination with the InfoSec team. 

2019-01-07 16-04-16
Siya
 
MVP

@Priya Naveen : To answer your query - You can enable debugging in Production, but it must be done carefully.

Steps to enable debugging in Production:

  1. Enable environment-level Debug Mode :   Service Center -> Administration -> Environment Configuration -> Debug Mode
  2. Enable Debug Mode for the specific module : Service Center -> Factory -> Module -> Your Module -> Operations -> Debug Mode
  3. Redeploy your module After enabling debug mode. Once deployed, you can open Service Center and start debugging.

Note the below important points while doing this

  1. Production servers are optimized for performance. Code compiled in Production is optimized and does not include debugging symbols by default.
  2. When you enable Debug Mode and deploy a debuggable version, the platform generates code with debugging symbols.  This has lower performance and should be used temporarily and only when required.
  3. Always remember to disable Debug Mode and republish the module once your debugging is completed.
2020-09-15 13-07-23
Kilian Hekhuis
 
MVP

I don't think any debugging symbols are generated: the "symbols" are already in the module. However, if you look at C# code generated with debugging enabled, you'll see that before every line of code there's a debug check statement (checking for break points etc.). So effectively the number of lines of code doubles, which makes it much slower.

2019-01-07 16-04-16
Siya
 
MVP

Thanks @Kilian Hekhuis  for the clarification. I just assumed it worked like regular .NET and generated PDB files in Debug mode. Your explanation makes it clear that OutSystems handles this differently.

2025-12-18 01-28-51
Peter Hieu

Why do some people say that we can debug in Production, while others say we cannot? Which one is correct?


Can you share an official OutSystems documentation link that clearly explains whether debugging in a Production environment is allowed or not?


At my office, I see an option to debug in Production, but it still doesn’t work. Why is that?

Peter Hieu.

2019-01-07 16-04-16
Siya
 
MVP

@Peter Hieu : You need to enable the Debug Mode for your module also inorder to debug. Please see if it works after enabling the same. 

2020-09-15 13-07-23
Kilian Hekhuis
 
MVP

By default, in a production environment debugging is disabled. This is a good thing, because code with debugging enabled is much slower because before every instruction it checks breakpoints etc. It's also a good thing because when debugging is enabled, data manipulation from Service Studio is possible, something you definitely shouldn't want on production data!

This is not to say that you can't treat your production environment like a test or dev environment. It's just something you should never ever do.

2025-12-18 01-28-51
Peter Hieu

Thanks for your response.

Peter Hieu

2025-12-18 01-28-51
Peter Hieu
2024-09-16 04-37-55
Karan Shinde

Hello @Priya Naveen ,

You cannot debug directly in Production in OutSystems 11 because it can affect real users. Small changes like updating an aggregate filter are usually safe, but any publish still restarts the module, so it should be done carefully. Always test changes in lower environments first, publish during low-traffic times, avoid heavy logic updates, and keep a rollback version ready. 


Community GuidelinesBe kind and respectful, give credit to the original source of content, and search for duplicates before posting.