Debuggers
Use Cases
Which Debugger should I use?
local | iOS WebApp |
iOS Native |
Android 4.4+ WebApp |
Android 4.4+ Native |
Android < 4.4 WebApp |
Android < 4.4 Native | |
---|---|---|---|---|---|---|---|
Mac OS | Chrome | Safari Remote | Safari | Chrome Remote | Chrome Remote | NSBApp | NSBApp |
Windows | Chrome | NSBApp | NSBApp | Chrome Remote | Chrome Remote | NSBApp | NSBApp |
Local is an app which is run in a desktop browser. It can be either run locally or from a server.
What does each Debugger let me do?
local | iOS WebApp |
iOS Native |
Android 4.4+ WebApp |
Android 4.4+ Native |
Android < 4.4 WebApp |
Android < 4.4 Native | |
---|---|---|---|---|---|---|---|
Mac OS | |||||||
Chrome Debugger | Yes | Yes | No | Yes | Yes | No | No |
NSBApp Debugger | No | Yes | Yes | Yes | Yes | Yes | Yes |
Safari Debugger | Yes | Yes | No | No | No | No | No |
Windows | |||||||
Chrome Debugger | Yes | Yes | No | Yes | Yes | No | No |
NSBApp Debugger | No | Yes | Yes | Yes | Yes | Yes | Yes |
Safari Debugger | No | No | No | No | No | No | No |
Debuggers
Chrome Debugger
The Chrome Debugger is the most commonly one used. It runs on Windows and Mac OS. It can debug apps running on the desktop, and has the most functions. To start it, use Chrome's Tool menu and choose JavaScript Console.
Information on using it is here.
Chrome Remote Debugger
The Chrome Remote Debugger, once started, is very much like the Chrome Debugger. It lets you debug Android 4.4 and later devices. Both web apps and PhoneGap apps can be debugged. You should also have the current version of Chrome on both your desktop and the device.
To start it, use Chrome on the desktop and go to about:inspect
Information on using it is here.
NSBApp Debugger
Use this debugger in cases where the Chrome Debugger does not work. It will be useful for apps running on iOS devices when you are in Windows, as well as Android devices running older versions of Android OS (4.3 or older). It works for both web apps and PhoneGap apps. Web apps need to deployed to nsbapp.com.
This debugger does not have the ability to view code or set checkpoints, but otherwise looks like a subset of the Chrome Debugger. It is based in the Weinre ("WEb Inspector Remote") Debugger.
Start it using the "NSBApp Debugger" in the Run menu. It will then recognize your app in these cases:
1. It is running in a desktop browser, after having been loaded from nsbapp.com.
2. It is running on a device as a web app, after having been loaded from nsbapp.com.
3. It is running on a device as a PhoneGap App. The project property "NSBApp Debugger" must be set to True.
Safari Debugger
The Safari Debugger can be used to debug local apps on Mac OS machines. There is little need for it, since the Chrome Debugger will work in the same situations. The interface is a bit different than the one in Chrome. We recommend using Chrome since it is useful in more cases, and there is no need to learn a different debugger.
Safari Remote Debugger
The Safari Remote Debugger is useful for debugging apps on devices if you are using a Mac. It works on both Web Apps and PhoneGap apps.
To use it, connect your iOS device to your Mac using a USB cable. In Safari on your Mac, go into the Advanced screen in Preferences. Turn on “Show Develop menu in menu bar”.
Then, from the Develop menu, choose your device and the app you want to debug.
More information is here.