How to provide a test case and device logs


#1

When you report an issue, the first thing the support team will ask you is a device log and a test case.

What is a test case?

A test case is the minimum amount of code required to reproduce an issue consistently under the same circumstances. This is important because the smaller a test case is, the easier it will be for the support team to detect where the problem is. If you insist on sending us full games or apps, it will take longer to solve the issue.

If a test case is required, please, compress it on a zip file and upload it to dropbox, google drive or any other system for sharing files. Then, send us the link.

How to provide a device log

A device log will be one of the first things the support team would ask you when reporting a bug. Without complete device logs, the support team can’t do further investigations. This guide explains how to provide a good device log for iOS and Android.

Android

Check you have your device set to developer mode. Check Android’s official documentation here if you’re not sure how to achieve that.

Once you have your device in developer mode, you have to collect system’s log. You will need “adb” installed in your PC. It is included with Android SDK

To check everything goes right, open a console and type “adb” (without quotes). You will see something like:

Once it is running, connect your android device to the PC. The first you do it, you will receive a warning in the phone/tablet asking for permission to trust in the PC. Grant the permission in the device to keep working.

The last step is to write in the PC’s console:

adb logcat

You’ll get a huge log on your screen. Something like:

D/AndroidRuntime( 4824):
D/AndroidRuntime( 4824): >>>>>> AndroidRuntime START com.android.internal.os.RuntimeInit <<<<<<
D/AndroidRuntime( 4824): CheckJNI is OFF
I/AndroidRuntime( 4824): JNI options: '-Xjniopts:warnonly'
E/AndroidRuntime( 4824): feature code ==> cannot open file
I/GCoreUlr( 4733): Ensuring that reporting is stopped because of reasons: {account#-18#=[InactiveReason{mVersionCode=0, mIdentifier=2, mName='DeferringToGmm'}]}
D/GCoreFlp( 4733): Unknown pending intent to remove.
I/GCoreUlr( 4733): Unbound from all location providers
D/LibQmg_native( 4824): register_android_app_LibQmg
D/AndroidRuntime( 4824): Calling main entry com.android.commands.am.Am
D/AndroidRuntime( 4824): Shutting down VM
D/dalvikvm( 4824): GC_CONCURRENT freed 102K, 67% free 340K/1024K, external 0K/0K, paused 1ms+0ms
D/jdwp    ( 4824): adbd disconnected
I/AndroidRuntime( 4824): NOTE: attach of thread 'Binder Thread #3' failed
I/atx     ( 4785): pcsync_socket_init
I/atx     ( 4785): __pcsync_monitor_thread

Now you are able to send us a good report!

So, keep your shell opened, and start your application. Reproduce the steps to make the application crash, and post the complete logcat to http://pastebin.com.

Once copied, attach the URL to the bug report.

iOS

You need to have XCode installed. Once installed, open the Organizer. It can be opened from the menu Window --> Organizer, or with the shortcut ⇧⌘2.

Once there, select the tab Devices, and choose your device from the list. With the device selected, click the triangle expander control at the bottom of your device details panel.

Execute your project from XCode, paste the console log in http://pastebin.com, and attach the URL generated to the bug report.


[Construct 2] Black Lines on my Game
#2