This PR reworks Debug functionality on context builders. Previously, calls to the Debug function would turn on O0 optimizations and some debugging features, leaving room for errors when building release configurations. However, with this new PR, everything changes as it provides a powerful new DebugConfig builder extension that offers fine grained control over debugging behavior. Note that DebugConfig settings are not affecting any release or O2 builds. This ensures maximum performance in release scenarios.
Old:
builder.Assertions().IOOperations()
Note that this setting would have affected Release and O2 builds automatically.
This PR reworks
Debug
functionality on context builders. Previously, calls to theDebug
function would turn onO0
optimizations and some debugging features, leaving room for errors when building release configurations. However, with this new PR, everything changes as it provides a powerful newDebugConfig
builder extension that offers fine grained control over debugging behavior. Note thatDebugConfig
settings are not affecting any release orO2
builds. This ensures maximum performance in release scenarios.Old:
Note that this setting would have affected
Release
andO2
builds automatically.New:
Note that this configuration will not affect
Release
andO2
builds by default.