He estado tratando de conectar jdb al emulador Android por poco tiempo, y se han reunido en varias ocasiones con:"No se ha podido conectar a la máquina virtual a distancia" que conecta jdb al emulador de Android en Windows
jdb -sourcepath ./src -attach localhost:8700 java.io.IOException: shmemBase_attach failed: The system cannot find the file specified at com.sun.tools.jdi.SharedMemoryTransportService.attach0(Native Method) at com.sun.tools.jdi.SharedMemoryTransportService.attach(SharedMemoryTransportService.java:90) at com.sun.tools.jdi.GenericAttachingConnector.attach(GenericAttachingConnector.java:98) at com.sun.tools.jdi.SharedMemoryAttachingConnector.attach(SharedMemoryAttachingConnector.java:45) at com.sun.tools.example.debug.tty.VMConnection.attachTarget(VMConnection.java:358) at com.sun.tools.example.debug.tty.VMConnection.open(VMConnection.java:168) at com.sun.tools.example.debug.tty.Env.init(Env.java:64) at com.sun.tools.example.debug.tty.TTY.main(TTY.java:1010) Fatal error: Unable to attach to target VM.
No tan genial. ¿Cuál es la mejor manera de evitar esto? Me estoy ejecutando en Windows 7 64 bits.
¿Se puede conectar a través del depurador? [Verifique mi respuesta aquí] (http://stackoverflow.com/questions/4199323/android-app-not-launching-on-emulator/4199575#4199575) –
Hm, parece que las entradas en mi archivo de hosts están todas comentadas afuera, diciendo: # la resolución del nombre del localhost se maneja dentro del DNS mismo. # \t 127.0.0.1 localhost # \t :: 1 localhost –
Encontrado * una * respuesta. De alguna búsqueda en Google, parece que jdb en Windows tiene por defecto una conexión de memoria compartida con una máquina virtual remota (http://www.herongyang.com/jtool/jdb_3.html). Resulta que podemos especificar un diferente tipo de conexión: > jdb -connect com.sun.jdi.SocketAttach: nombre de host = localhost, port = 8700 Set no detectada java.lang.Throwable Conjunto diferida no detectada java.lang.Throwable Inicializando jdb ... > Parece que se conecta, al menos. –