What does “Do not launch, but debug my code when it launches” mean?

Raymond Chen

Visual Studio has an option called Do not launch, but debug my code when it launches.

For a long time, I was confused by this setting. It’s like telling someone, “Don’t drive my car, but wear a seat belt when you drive my car.”

I also tried to parse this as

(Do not launch, but debug my code) when it launches.

In other words, “When my code launches, don’t launch it; just debug it.”

Which makes no sense. “When my code launches, don’t launch it.”

I eventually got clued in that both of those attempts at parsing the statement were incorrect. The intended parse is

Do not launch, but (debug my code when it launches).

In other words, “Don’t launch it right now. Wait for somebody else to launch it, and then debug it when that launch happens.”