Debugging GlobalSight

From GlobalSight
Jump to: navigation, search
Document Library
Footer-logo.gif

About GlobalSight
System requirements
Setting up GlobalSight
Upgrading GlobalSight
Comparing GlobalSight with WorldServer
GlobalSight online help

Installing GlobalSight
Installing GlobalSight on Windows
Installing GlobalSight on Ubuntu
Installing Third-party Components for GlobalSight on Windows
Installing Third-party Components for GlobalSight on Ubuntu
Installing the GlobalSight Desktop Icon

Using GlobalSight
Managing GlobalSight Projects
Translating with GlobalSight
Reviewing with GlobalSight
Using the Desktop Icon
Running GlobalSight Behind an Apache Reverse Proxy

Developing GlobalSight
Getting the Code
Building and Deploying GlobalSight
GlobalSight Developer’s Guide
Setting up the Development Environment
Debugging GlobalSight
Designing the GlobalSight Adapters
GlobalSight Web Services API
Using the GlobalSight Web Services API Test Tool
Using the GlobalSight CVS Connector
Connecting to a CVS with the GlobalSight Desktop Icon

Help and support
Troubleshooting translation problems
Training
GlobalSight forums

Debugging GlobalSight

Probably the best way to debug GlobalSight is to start it so that it accepts debugger connections, then attach to it whenever you want to debug. The following instructions use the jdb debugger that comes with the Sun JDK, but other debuggers can attach in a similar way.

First, pass the following command line options to java:

-agentlib:jdwp=transport=dt_socket,address=8912,server=y,suspend=n.

On Linux, edit jboss/jboss_server/bin/run.conf. This applies whether GlobalSight is started from the init.d service or the startJboss.sh script. Add the line

JAVA_OPTS="$JAVA_OPTS -agentlib:jdwp=transport=dt_socket,address=8912,server=y,suspend=n

On Windows, edit jboss\jboss_server\bin\run.bat and add

set JAVA_OPTS=%JAVA_OPTS% -agentlib:jdwp=transport=dt_socket,address=8912,server=y,suspend=n

The basic command to attach with jdb is

jdb -sourcepath=<source>/main6/envoy/src/java:<source>/main6/diplomat/dev/src/java:<source>/main6/ling -attach 8912

on Unix and

jdb -sourcepath=<source>\main6\envoy\src\java;<source>\main6\diplomat\dev\src/java;<source>\main6\ling -attach 8912

on Windows. <source> refers to the base of the GlobalSight source tree. This tells jdb where to find the GlobalSight source code.

Third-Party Libraries

You may need to debug into some of the third-party libraries that GlobalSight uses, such as Tomcat or Xerces. First, download the source for any of the following packages, and unpack them into a directory (referred to as <libsource>):

The versions are those currently used in GlobalSight (except for Lucene, as noted).

After downloading the third-party sources, the full jdb command is

jdb -sourcepath=<source>/dev/main6/envoy/src/java:<source>/dev/main6/diplomat/dev/src/java:<source>/dev/main6/ling:<libsource>/jakarta-tomcat-5.0.28-src/jakarta-tomcat-catalina/catalina/src/share:<libsource>/jboss-4.0.1-src/system/src/main:<libsource>/hibernate-3.1/src:<libsource>/lucene-1.9-final/src/java:<libsource>/commons-logging-1.0.3-src/src/java:<libsource>/jakarta-log4j-1.2.8/src/java:<libsource>/dom4j-1.6.1/src/java:<libsource>/xerces-1_4_3/src:<libsource>/jaxen-1.1-beta-4/src/java/main -attach 8912

on Unix and

jdb -sourcepath=<source>\dev\main6\envoy\src\java;<source>\dev\main6\diplomat\dev\src\java;<source>\dev\main6\ling;<libsource>\jakarta-tomcat-5.0.28-src\jakarta-tomcat-catalina\catalina\src\share;<libsource>\jboss-4.0.1-src\system\src\main;<libsource>\hibernate-3.1\src;<libsource>\lucene-1.9-final\src\java;<libsource>\commons-logging-1.0.3-src\src\java;<libsource>\jakarta-log4j-1.2.8\src\java;<libsource>\dom4j-1.6.1\src\java;<libsource>\xerces-1_4_3\src;<libsource>\jaxen-1.1-beta-4\src\java\main -attach 8912

on Windows.

If in a debugging session you need to add a new source directory, enter use <sourcepath> at the jdb command line.

Command-Line Editing

To add command-line editing, history and keyword completion to jdb on Unix, I highly recommend rlwrap. Just add rlwrap in front of your jdb command line. You might also create a file in your home directory called ~/.jdb_completions containing common commands, for example:

stop clear catch ignore run cont step next list where up down print dump locals set quit



Document Library: Latest versions

About GlobalSight | System requirements | Setting up GlobalSight | Upgrading GlobalSight | Comparing GlobalSight with WorldServer | GlobalSight on-line help

Installing GlobalSight | Installing GlobalSight on Windows | Installing GlobalSight on Ubuntu | Installing Third-party Components for GlobalSight on Windows | Installing Third-party Components for GlobalSight on Ubuntu | Installing the GlobalSight Desktop Icon

Using GlobalSight | Managing GlobalSight Projects | Translating with GlobalSight | Reviewing with GlobalSight | Using the Desktop Icon

Developing GlobalSight | Getting the Code | Building and Deploying GlobalSight | GlobalSight Developer’s Guide | Setting up the Development Environment | Debugging GlobalSight | Designing the GlobalSight Adapters | GlobalSight Web Services API | Using the GlobalSight Web Services API Test Tool | Using the GlobalSight CVS Connector | Connecting to a CVS with the GlobalSight Desktop Icon

Help and support
Troubleshooting translation problems
Training
GlobalSight forums

GloobalSight community
Personal tools