Google Apps Script:
Using a debugger

How to:

Google Apps Script provides a built-in debugger within the Apps Script Editor to help troubleshoot scripts. Here’s how to initiate and use the debugger:

  1. Open your script in the Apps Script Editor.
  2. Select a function to debug. From the dropdown menu at the top, select the function you wish to debug.
  3. Set breakpoints. Click on the gutter (the gray area to the left of the line numbers) where you want to pause execution; a red dot appears, indicating a breakpoint.
  4. Start debugging. Click on the bug icon or select Debug > Start debugging. Execution will start and pause at the first breakpoint.

Consider this simple script:

function calculateSum() {
  var a = 5;
  var b = 10;
  var sum = a + b;
  Logger.log(sum); // Intended to log 15
}

If unsure why Logger.log(sum) isn’t displaying the expected result, you could set a breakpoint at the line var sum = a + b; and step through the script line by line to inspect variable values.

Sample output in Logger:

15

While debugging, the Apps Script Editor allows you to:

  • Step through the code using the step over, step into, and step out buttons.
  • Watch expressions and variables to see their values change in real time.
  • Inspect the call stack to trace function calls.

Deep Dive

Debugging in Google Apps Script, like in any other programming environment, is essential for creating error-free applications. Introduced early in the development of GAS, the built-in debugger offers fundamental capabilities to inspect and fix code incrementally. While it provides basic debugging features akin to those found in more mature environments like Visual Studio Code or IntelliJ, it may fall short for complex debugging scenarios. For example, its capabilities to inspect asynchronous call backs or manage heavy script executions could be limiting.

For complex debugging needs, developers might resort to alternative methods such as extensive logging (using Logger.log()) or even deploying as a web app to inspect behavior in a real-world scenario. However, the simplicity and integration of GAS’s debugger within the Apps Script Editor make it an invaluable first step for troubleshooting and understanding script behavior. Notably, with Google’s continuous updates and enhancements to Apps Script, the debugging experience is steadily improving, offering more sophisticated tools and options over time. This evolution reflects Google’s commitment to making Apps Script a more powerful and accessible platform for developers from diverse backgrounds.