String () { final String address = getApplicationAddress(); final boolean shmem = !isUseSockets(); final boolean serverMode = isServerMode(); @NonNls String result; if (shmem) { if (serverMode) { result = "-Xdebug -Xrunjdwp:transport=dt_shmem,server=n,address=" + ((address.length() > 0) ? address : "...") + ",suspend=y" + ONTHROW + ONUNCAUGHT; } else { result = "-Xdebug -Xrunjdwp:transport=dt_shmem,server=y,suspend=n,address=" + ((address.length() > 0) ? address : "..."); } } else { // socket transport int port = StringUtil.parseInt(address, -1); if (serverMode) { String localHostName = "<host name>:"; try { final InetAddress localAddress = InetAddress.getLocalHost(); final String name = localAddress.getCanonicalHostName(); if (name != null) { localHostName = name + ":"; } } catch (UnknownHostException ignored) { } result = "-Xdebug -Xrunjdwp:transport=dt_socket,server=n,address=" + localHostName + ((port == -1) ? "<port>" : Integer.toString(port)) + ",suspend=y" + ONTHROW + ONUNCAUGHT; } else { result = "-Xdebug -Xrunjdwp:transport=dt_socket,server=y,suspend=n,address=" + ((port == -1) ? "..." : Integer.toString(port)); } } return result; }