To debug halite in java the following changes are necessary:
edit your run_game.sh|bat to contain the following call to a bot:
"java -agentlib:jdwp=transport=dt_socket,server=y,suspend=y,address=1044,quiet=y MyBot"
It is important to add the "quiet=y" option, otherwise the halite daemon will fail.
Next open the IDE of your choice and create a remote debug configuration for your project connecting to port 1044.
Last but not least, add the -t option to the halite daemon call in run_game.sh|bat so that the 2s timeout is ommitted.
Now you can start your game and connect to the running instance via the remote debugger in your IDE. Because you specified the "suspend=y" option halite will wait until the debugger is connected.