It seems like the browser you are using has JavaScript disabled. As a result, the site will not function properly. We really want you to enable it so you may experience our site as we intended it. If you have no idea what we are talking about or if you need help, visit http://www.enable-javascript.com×
This website uses cookies. By continuing to browse this site you are agreeing to our use of cookies. Find out more on our cookie page.×

Oops, it seems like you're using an old browser that we do not fully support. If you're able to, please upgrade your browser here.×
This website uses cookies. By continuing to browse this site you are agreeing to our use of cookies. Find out more on our cookie page.×

Testing and debugging

The Momentics
IDE for BlackBerry provides a source-level debugger that's integrated with the other
workbench tools.

The Momentics
IDE debugger uses the GNU Debugger (GDB) as the underlying debug tool.
The Momentics
IDE debugger translates each action in the UI into a sequence of GDB
commands, and then processes the output from GDB to show the current state of the app
being debugged. You can see and control the GDB commands by using the GDB consoles that
are available in the Debug perspective in the Momentics
IDE. You can also perform other debugging tasks, such as:

The Debug view

In the Debug perspective, the Debug view shows the debugging session,
tool, and thread instance, as well as the stack frames and controls for each device that
you debug on. It displays the debugging information in a tree hierarchy. It shows stack
frames as child elements and includes the reason for a suspension beside the thread. For
example, a thread is suspended when it reaches the end of the stepping range, a
breakpoint, or a received signal. When an app exits, the Momentics
IDE also shows the exit code.

The thread label includes the thread's state. For example, the label
might indicate that the thread is suspended because the app hit a breakpoint. You can't
suspend only one thread in a process; suspension affects all threads. The number beside
the thread label is a reference counter for the Momentics
IDE, not a thread ID (TID) number.

Editing your source code after compiling causes the line numbering to be
out of step because the debug information is tied directly to the source code. Debugging
an optimized binary can also cause unexpected jumps in the execution trace, especially
when the debug symbols for that library aren't available and loaded.

The following list provides examples of best practices for testing. For
more information about the Built for BlackBerry checklists, see App Developer Checklist.

Best practices

Stress test your app. Test your app under a high
system load to ensure that it handles the high loads correctly.

Monitor app resources. Monitor files and devices
that your app uses to ensure that it behaves as expected.

Test under various system states. Test your app
under different system states, such as orientation changes, heavy stress conditions,
and minimization, to ensure that your app behaves as expected.

Monitor CPU load and memory usage. Monitor CPU load
and memory usage when your app is running and when in an inactive state to ensure
that your app behaves as expected.

1. Download the tools

Before you start developing, you'll need to visit the Downloads tab. Here you'll find downloads for the BlackBerry 10 Native SDK, BlackBerry 10 Device Simulator, and some other useful tools.

2. Try the sample apps

Now featuring a filter control, the Sample apps tab allows you to search for samples by name or by feature.

Select either the Core or Cascades radio buttons to display the samples relevant to you.

3. Educate yourself

The Documentation tab contains tons of examples, tutorials, and best practices to guide you along the path towards building an awesome app.

You can access all the documentation that you need in the left-hand navigation.

4. Start developing

The Reference tab is where you'll find essential details about how to use our APIs.

You can use the left-hand navigation to choose how you would like to browse the reference: by module, by topic, or alphabetically. If you have an idea of what you are looking for, start typing it in the Filter box.