/** Specify the executable file to be debugged and read the symbol table. */
  @Execute
  public void stepSetExecutable(RequestMonitor rm) {
    boolean noFileCommand =
        CDebugUtils.getAttribute(
            fAttributes,
            IGDBLaunchConfigurationConstants.ATTR_DEBUGGER_USE_SOLIB_SYMBOLS_FOR_APP,
            IGDBLaunchConfigurationConstants.DEBUGGER_USE_SOLIB_SYMBOLS_FOR_APP_DEFAULT);

    if (!noFileCommand && fBinaryName != null && fBinaryName.length() > 0) {
      fCommandControl.queueCommand(
          fCommandFactory.createMIFileExecAndSymbols(getContainerContext(), fBinaryName),
          new DataRequestMonitor<MIInfo>(ImmediateExecutor.getInstance(), rm));
    } else {
      rm.done();
    }
  }