I apologize for my interference but I'm quite confused here. My understanding of your situation doesn't fit into anything I've done with CB and gdb so far so I'm just trying to detect if I missed any advantages with your method of debugging, so please bear with me. I mainly use AVRs for my work and the usual process is:
1- Compile the source into an .elf file (CB 'Build' command),
2- Extract the required .hex, .eeprom etc... (CB 'Post Build Steps'),
3- Program the chip (corresponding menu entry in CB 'Tools' plugin, may also be a post build step if one wants to automate it),
4- Debugging process (explained below),
Debugging:
1- If a debugging hardware is used, a 'gdbserver' is launched to connect the hardware with gdb (CB 'additional shell commands before connection'). If a simulator is used replace 'gdbserver' with the simulator,
2- Start debugging (CB 'Debug' command).
What I understand from your posts is you run the simulator with CB 'Run' command and launch a manual 'gdb' process to connect to it. If that is the case what I would do is:
1- Insert '$(TARGET_COMPILER_DIR)..\emulators\3dmoo $(TARGET_OUPUT_DIR)$(TARGET_OUTPUT_BASENAME).3dsx -gdbport 1000' into 'additional shell commands before connection',
2- Start debugging (CB 'Debug' command).
Which part of this doesn't work or meet your requirements? If not what is the advantage?