diff --git a/src/plugins/debugger/debuggermanager.cpp b/src/plugins/debugger/debuggermanager.cpp
index f1474fc7b791446d27bf306923933976dff508d5..b8a93e99b416c74b8341623fd54f6cff46c715ac 100644
--- a/src/plugins/debugger/debuggermanager.cpp
+++ b/src/plugins/debugger/debuggermanager.cpp
@@ -98,39 +98,47 @@
 // Note: the Debugger process itself is referred to as 'Debugger',
 // whereas the debugged process is referred to as 'Inferior'.
 //
-// 0 == DebuggerNotReady
-//          |
-//     EngineStarting
-//          |
-//     AdapterStarting --> AdapterStartFailed --> 0
-//          |
-//     AdapterStarted
-//          |
-//     InferiorStarting --> InferiorStartFailed --> 0
-//          |          |
-//          |          |
-//     InferiorStopped |
-//          |          |
-//          | <--------
-//          |  .------------------------------------.
-//          |  v                                    |
-//     InferiorRunningRequested                     |
-//          |                                       |
-//     InferiorRunning  --> 1 (normal exit)         |
-//          |                                       |
-//     InferiorStopping                             |
-//          |                                       |
-//     InferiorStopped --> 1                        |
-//          |                                       |
-//          `---------------------------------------'
-//          
-// 1 == InferiorShuttingDown  -> InferiorShutdownFailed
-//          |
-//     InferiorShutDown
-//          |
-//     AdapterShuttingDown  -> AdapterShutdownFailed --> 0
-//          |
-//          0
+//               0 == DebuggerNotReady
+//                          |
+//                     EngineStarting
+//                          |
+//                     AdapterStarting --> AdapterStartFailed --> 0
+//                          |
+//                     AdapterStarted
+//                          |
+//                     InferiorPreparing --> InferiorPreparationFailed --> 0
+//                          |
+//                     InferiorPrepared
+//                          |
+//                     InferiorStarting --> InferiorStartFailed --> 0
+//                          |
+//         (core)           |
+//      .-----------------<-|
+//      |                   |    (attach)               
+//  InferiorUnrunnable      |----------------------.
+//      |                   |                      v
+//      |                   |
+//      |                   |  .------------------------------------.
+//      |                   |  v                                    |
+//      |              InferiorRunningRequested    v                |
+//      |                   |                      |                |
+//      |        .---- InferiorRunning             |                |
+//      |        |          |                      |                |
+//      |        |     InferiorStopping            |                |
+//      |        |          |                      |                |
+//      |        v          v                      |                |
+//      |        |<--- InferiorStopped <-----------'                |
+//      |        |          |                                       |
+//      |        |          `---------------------------------------'
+//      |        |          
+//      |        '---> InferiorShuttingDown  -> InferiorShutdownFailed
+//      |                   |
+//      |              InferiorShutDown
+//      |                   |
+//      |                   v
+//      '------------> AdapterShuttingDown  -> AdapterShutdownFailed --> 0
+//                          |
+//                          0
 //
 // Allowed actions:
 //    [R] :  Run