Building with "-g -G" reduces max blocks per SM

I am trying to debug a kernel and trying to run the program built in debug with “-g -G”.

Without using -G, I can launch at most 1 block per SM according to the value returned by cudaOccupancyMaxActiveBlocksPerMultiprocessor.
<stdout>:Num of SM 108, blocks per SM 1

Using -G, this value becomes 0 and I am no longer able to launch the kernel.
<stdout>:Num of SM 108, blocks per SM 0

Is it expected that the debug build will make the kernel “bigger” in some way that it’s possible that it becomes no longer launchable?