not quite sure about the difference between debug and development configuration

Can any one explain to me?
I visit the official documentation , but still not understand. Both can set breakpoints when editor on.

**Development **runs fast but is difficult to debug (optimizations are turned on etc)
**DebugGame **optimizes the engine code for speed, but compiles your game code in debug. This way it loads and runs quickly, but you can still debug your game code.
**Debug **compiles everything in debug mode, so runs slower, but is useful if you are working on the engine.

Does that help?

DebugGame must be run after game content cooked . Is it right?

FlashSky, you are correct.
You can use DebugGame Editor without cooked content and use -game to run it as a game