Switched from ADT to Andmore because my phone upgraded to 6 and have had nothing but problems since. I am particularly getting sick of this
Can't bind to local 8601 for debugger
ddmlib] An established connection was aborted by the software in your host machine
java.io.IOException: An established connection was aborted by the software in your host machine
Making some slight progress.
I changed the port to 8700. Seems to like that one for some reason. Do not know why the change worked, the previous port was good enough in the past.
There are also a lot more debugging options in the developer menu on the device. I went through quite a few variations before I could get my desktop and device talking to each other. I think the key ones were specifying the app to be debugged and 'wait for debugger'.
Think I have figured it. Marshmallow apps are now required to check manifest permissions in code. I was not doing this so after the first attempt to run, the device would no longer talk to the app whilst it was being debugged. Hence the 'aborted by host' error.
Considering this is such an important and major change to the way android works I expected there to be a lot more documentation and warnings and flag waving and just letting developers know.
This bit of code in the onCreate method, which I know defeats the purpose of the change but I am just trying to debug the bastard, gets it working
int perm_check = checkSelfPermission(Manifest.permission.ACCESS_FINE_LOCATION);