Debugging in-image means that both client and server objects exist in the same image. Although effectively running as a Local Server as far as COM is concerned, both client and server are actually running on the same Dolphin thread within the same address space (i.e. in the same apartment). Despite this neither client nor server side are aware that the underlying objects are within the same image, and all calls are routed externally via COM (or through interface call outs/callbacks), so one can do the majority of testing in this way.
Running in-image is the one case where marshalling code is not required because both client and server are running in the same apartment. Furthermore when running in-image one does not need any registry entries (instead one must ensure that a class factory is registered with the COM subsystem).
Since debugging in-image requires neither marshalling code nor registry entries one can concentrate on the ensuring that the functionality of the server is correct, and avoid most of the unpleasantness of COM that is required for binary component re-use. In consequence it is most productive to perform the majority of one’s development work in-image.