How to connect Godot debugger with Android?

:information_source: Attention Topic was automatically imported from the old Question2Answer platform.
:bust_in_silhouette: Asked By trabladorr

I am working on a mobile game, and want to run it on my Android device.
Following the exporting for Android guide, I can run the game on my device through the editor’s android button. However, there is no console output, output stops at:

Installing to device (please wait...): Nokia Nokia 7 plus
Performing Streamed Install
Success
Starting: Intent { act=android.intent.action.MAIN cmp=org.godotengine.scrounge/com.godot.game.GodotApp }

Searching for this problem, I found that the following line is expected after the “Installing …” one.

--- Device API >= 21; debugging over USB ---

I am also missing the following line, and can’t figure out how to enable it.

0 param: --remote-debug

I can however see all output on adb logcat, either afterwards or even concurrently.

Tried with three different devices, with different architectures and Android versions, all with the same result.
Using godot 3.2.3 on Windows, with adb 30.0.5 over USB. Stdout is enabled in project settings.

Tried re-downloading Godot and adb, tried reinstalling Java, tried restarting both adb and Windows.
I don’t know what else to try, and I feel like I am missing something obvious!

:bust_in_silhouette: Reply From: xetaichohangpq

Overview of debugging tools
This guide will give you an overview of the available debugging tools in the engine.

Godot comes with a powerful debugger and profilers to track down bugs, inspect your game at runtime, monitor essential metrics, and measure performances. It also offers options to visualize collision boxes and navigation polygons in the running game.

Finally, you have options to debug the game running on a remote device and to reload changes to your scenes or your code while the game is running.

Debugger Panel
Many of Godot’s debugging tools are part of the Debugger panel, which you can find information about in Debugger panel.

Debug menu options
There are a few common debug options you can toggle on or off when running your game in the editor, which can help you in debugging your game.

You can find these options in the Debug editor menu.

…/…/_images/overview_debug.png
Here are the descriptions of the options:

Deploy with Remote Debug
When exporting and deploying, the resulting executable will attempt to connect to the IP of your computer for debugging.

Small Deploy with Network FS
This option speeds up testing for games with a large footprint on remote devices.

When Small Deploy with Network FS is on, instead of exporting the full game, deploying the game builds a minimal executable. The editor then provides files from the project over the network.

Also, on Android, the game is deployed using the USB cable to speed up deployment.

Visible Collision Shapes
This option makes collision shapes and raycast nodes visible in the running game.

Visible Navigation
Navigation meshes and polygons will be visible on the running game.

Sync Scene Changes
With this option, any change you make to a scene in the editor at runtime appears instantly. When used remotely on a device, this is more efficient with the network filesystem.

Sync Script Changes
Any script that is saved will be reloaded on the running game. When used remotely on a device, this is more efficient with the network filesystem.

Script editor debug tools and options
The script editor has its own set of debug tools for use with breakpoints and two options. The breakpoint tools can also be found in the Debugger tab of the debugger.

…/…/_images/overview_script_editor.png
The Break button causes a break in the script like a breakpoint would. Continue makes the game continue after pausing at a breakpoint. Step Over goes to the next line of code, and Step Into goes into a function if possible. Otherwise, it does the same thing as Step Over.

The Keep Debugger Open option keeps the debugger open after a scene has been closed. And the Debug with External Editor option lets you debug your game with an external editor.

Warning

Breakpoints won’t break on code if it’s running in a thread. This is a current limitation of the GDScript debugger.

Debug project settings
In the project settings, there is a Debug category with three subcategories which control different things.

Settings
These are some general settings such as printing the current FPS to the Output panel, the maximum amount of functions when profiling and others.

GDScript
These settings allow you to toggle specific GDScript warnings, such as for unused variables. You can also turn off warnings completely.

Shapes
Shapes are where you can adjust the color of shapes that only appear for debugging purposes, such as collision and navigation shapes.

Remote in scene dock
When running a game in the editor two options appear at the top of the Scene dock, Remote and Local. While using Remote you can inspect or change the nodes’ parameters in the running project.

…/…/_images/overview_remote.png
Note

Some editor settings related to debugging can be found inside the Editor Settings, under the Network > Debug and Debugger sections.

However did I miss an entire Menu?
Thanks for the help!

trabladorr | 2021-01-11 06:32

:bust_in_silhouette: Reply From: clemens.tolboom

Checkout the Godot docs Overview of debugging tools which is what the voted answer copied/pasted but gives more context and images.

:bust_in_silhouette: Reply From: Shawk

Go to Debug->Check “Deploy with Remote Debug”
You can also check “Small deploy with Network Filesystem” to sync scene changes in real time without having to restart the scene

This is the correct answer.

Activating “Small deploy with Network Filesystem” freezes my android device. But activating “Deploy with Remote Debug” works as a charm

d2clon | 2023-06-30 13:46

1 Like

Had you tried?

adb logcat -s godot

in command prompt (cmd.exe).