Using non-default channel or pan id

It is not possible for an application being debugged to select dynamically a different channel or pan id. Instead the required channel or pan id must be selected using manifest properties (see section Using manifest properties to adjust the radio). Then the required channel or pan id can be specified like this:

ant debug -DremoteId=spot1 -Dremote.channel=11 –Dremote.pan.id=99

Unexpected exceptions

Some code which runs correctly in a standalone application will cause an exception when running under the debugger. To aid debugging, we recommend that you always set a breakpoint on SpotFatalException so that you can at least see when a conflict occurs. Instructions for doing this with some IDEs are shown below.

Conflicts will occur for applications that:

Interact directly with the MAC or PHY layers of the radio stack. Applications that use the radio via the radiostream: and radiogram: protocols should work correctly under the debugger.

Interact directly with the hardware. For example, applications that manipulate IO pins directly and applications that manipulate the LEDs on the front of the Sun SPOT processor board (applications that manipulate the LEDs on the demo sensor board should work correctly under the debugger).

Configuring NetBeans as a debug client

Select the “Run” menu item and the sub-item “Attach Debugger…” Enter 2900 as the port number and 5000ms as the timeout. The connector field should be set to “socket attach”.

We recommend that you set a breakpoint for SpotFatalException (see section Unexpected exceptions for more information). To do this, select “Run…”, then “New Breakpoint…”. In the dialog, set the breakpoint type to be “Exception, the package to be com.sun.spot.peripheral and

the class name to be SpotFatalException.

Configuring Eclipse as a debug client

From the “Run” menu select the “Debug…” option. Create a new “Remote Java Application” configuration and set the port number to 2900, with the “Standard (socket attach)” connection type.

We recommend that you set a breakpoint for SpotFatalException (see section Unexpected exceptions for more information). To do this, select “Run…” and then “Add Java Exception Breakpoint…” and then select SpotFatalException.

Finally, it will improve the debugging experience if you associate source code with the various Sun SPOT SDK jar files. To do this, select your Eclipse project, then from the right button menu select “Properties…”. Select the “Java Build Path” on the left of the Properties dialog and then “Libraries” tab on the right. If you haven’t already done so, add the five key jar files here:

SDK_INSTALL_DIRECTORY/lib/transducerlib_rt.jar

SDK_INSTALL_DIRECTORY/lib/multihoplib_rt.jar

SDK_INSTALL_DIRECTORY/lib/spotlib_device.jar

SDK_INSTALL_DIRECTORY/lib/spotlib_common.jar

SDK_INSTALL_DIRECTORY/lib/squawk_rt.jar

45

Page 45
Image 45
Sun Microsystems V2.0 manual Configuring NetBeans as a debug client, Configuring Eclipse as a debug client