1

Travailler sur un port imgui à Kotlin, j'ai un menu metrics où j'afficher le nombre d'allocationsCompter le nombre de classes instanciées échoue en mode débogage

C'est le init code j'ai écrit:

try { 
     var ac: AttachingConnector? = null 
     for (x in Bootstrap.virtualMachineManager().attachingConnectors()) { 
      if (x.javaClass.name.toLowerCase().indexOf("socket") != -1) { 
       ac = x 
       break 
      } 
     } 
     if (ac == null) { 
      throw Error("No socket attaching connector found") 
     } 
     val connectArgs = HashMap<String, Argument>(ac.defaultArguments()) 
     connectArgs["hostname"]!!.setValue("127.0.0.1") 
     connectArgs["port"]!!.setValue(Integer.toString(3001)) 
     connectArgs["timeout"]!!.setValue("3000") 
     vm = ac.attach(connectArgs) 
    } catch (error: Exception) { 
     System.err.println("Couldn't retrieve the number of allocations, $error") 
    } 

Et ce sont les arguments que je passe en tant que 'Options VM'

-Xdebug -Xrunjdwp:transport=dt_socket,address=3001,server=y,suspend=n

Chaque fois que je le lance normalement, Ça marche. Mais si je le lance en mode débogage, il ne marche pas, retourner l'erreur suivante:

java.net.ConnectException: Connection refused: connect

Je ne pouvais pas trouver encore une solution pour cela, au moment où j'afficher simplement un -1 pour indiquer une erreur

Est-ce que quelqu'un a une solution/explication?

Spécifications:

  • Kotlin 1,2
  • m1 Idea 2017.2.1

Répondre

0

Je suppose que le problème est que vous essayez d'utiliser le même port pour le débogueur que celui utilisé par le programme. Essayez d'utiliser un port différent pour le débogueur.

+0

Pourquoi cela sera-t-il un problème? Quoi qu'il en soit, essayé avec 3002, pas de succès .. – elect