Debugging RXTX Bundle / Natives
Updated rxtx bundle supports various levels of java only and native debugs.
Java Debug Properties
Property |
Type |
Description |
|---|---|---|
gnu.io.debug |
boolean |
Enables debug dumps on System.out from RXTXDriver and RXTXPort classes. |
gnu.io.trace |
boolean |
Enables stacktraces on critical CommPortIdentifier, RXTXDriver and RXTXPort functions (e.g. openPort, close, initialize()). |
gnu.io.log.mode |
String |
Use PRINT_MODE for enabling RXTXPort debug dumps (this forces Zystem logger to use System.out). |
gnu.io.raw |
boolean |
flag for dumping raw IO with the port. |
gnu.io.debug.lock |
boolean |
Flag for dumping IOLock increment/decrement (useful in case of RXTXPort.close() problems with IOLocked > 0). |
gnu.io.debug.lock.threads |
boolean |
Flag for dumping IOLock caller Thread names. |
gnu.io.debug.lock.trace |
boolean |
Flag for dumping IOLock caller stacktrace. |
gnu.io.debug.read |
boolean |
Enable SerialInputStream.read related dumps (useful for checking blocked reads). |
gnu.io.debug.read_results |
boolean |
Enable SerialInputStream.read verbose read dumps (useful for checking blocked reads). |
gnu.io.debug.write |
boolean |
Enable SerialOutputStream.write related dumps (useful for checking blocked reads). |
gnu.io.debug.events |
boolean |
Enable SerialPortEventListener (RXTXPort.sendEvent()) related dumps. |
gnu.io.debug.verbose |
boolean |
Enable additional dumps in SerialPortEventListener handler and available(). |
gnu.io.cpi.debug |
boolean |
Enables CommPortIdentifier debug dumps. |
mbs.comm.debug |
boolean |
Enables rxtx Activator / OSGi log debug. |
mbs.comm.console |
boolean |
Enables console dumps for Activator / OSGi log. |
Recommended Debug Settings for Bug Reporting
mbs.comm.debug = truembs.comm.console = truegnu.io.debug = truegnu.io.trace = truegnu.io.log.mode = PRINT_MODEgnu.io.raw = true
Native Debug Levels
Native code supports 5 levels of logging verbosity (verbose and trace are compiled optionally):
If you export RXTX_VERBOSE, but native libs are not compiled with DEBUG_VERBOSE - no verbose dumps can be dumped. RC bundles have been compiled with -DDEBUG, so for default builds exporting RXTX_DEBUG variable before starting Bosch IoT Gateway Software will produce some relevant rxtx dumps (prefixed with "[rxtxSerial]").