In the dashboard, you will see a section titled "Debug". This page is only meant for development and testing. 




The Debugger is hooked up when a dev build starts on a device or the dev's computer. If you stay on that tab in the dash, you should see a session appear as you play around in the app. Things like logs and moments will pop up immediately, and everything else will come through when the app is backgrounded. Upon clicking the arrow on the right-hand side of the page, you will see some best practices for using the Debug page.


For IOS:

Crashes will also show up, but only if the Xcode debugger is disconnected. The Xcode debugger will swallow up the crash before we'd be able to capture it. This can be quickly done by backgrounding and then reopening the app. The Embrace Debugger Sessions have nothing to do with the Xcode Debugger. It's just an overloaded term for different purposes. Ours is to debug your Embrace integration into your app.


For Android:

To generate these kinds of sessions, the following requirements must be met.

  • Call start with enableIntegrationTesting: true

                Embrace.getInstance().start(context, true)

  • Select a debuggable build variant. (debuggable true)


  • Debug the application. 


For Unity:

How to use the debugger page depends a lot on the version and plugins being used and how the project was built as every Unity game is unique. If you export your Unity game to Android or iOS and run it from the platform-specific app Android studio or Xcode, you are using a debugger in the Embrace "debug sessions." On the other hand, if you are running from inside Unity, you are unlikely to use a debugger. In technical terms, "Embrace debug sessions" only happens when the process has the ptrace port connected: https://en.wikipedia.org/wiki/Ptrace