Hello All!

This is my first post here and I hope to help out where I can as well.

First off some background, I have a rather large application that simulates warfare. It has roughly 500 packages, each of them containing about 20-50 classes, and of them about 250 packages of code are actually called. The code is imported to Eclipse and I can run the application in Debug mode and add breakpoints where needed. The application has a verbose debugging system that calls on the class Logger. The code is bulky, multi-threaded, throws exceptions, and generally is a memory hog depending on how large the simulation is. There is a nicely designed front end, that is designed to generate .xml data files on the backend, which is how this application is configured and manipulated.

Some issues/themes:

The code is not built using the IDE eclipse, rather it is built using make and ant scripts. At the SRC root directory there is a build.xml that ant uses to recursively inspect all the packages, determine if a new compile is needed, and then compile the current package if needed. The current execution path, that is, the call order of classes is unknown....there is not a class with the obvious main method. The code is first instantiated this way; In my best opinion, by calling the constructors when the GUI button "Initialize" is clicked in debug mode. Netbeans were used to create the GUI it looks like.

At least one of the constructors "register" their variables.

First question: What is the purpose of registering variables in the constructor and will this cause multi-threaded issues?

Second Issue: When building the entire 500 packages, I added a class in one of the packages with an error to see if it gets picked up and compiled by the ant scripts. From what I can tell, the packages built without error.

Second question: How do you add classes to the ant build path?

Third question and most difficult:

What is the best way to identify the chain of calls when a button is clicked on the GUI using eclipse in Debug mode?

I need to know where to add the breakpoints in the proper place so I can start learning the call order and logical execution of the application.

Some information on versions of Java, Ant, and Make, and Eclipse.

java version "1.7.0_71"
Java(TM) SE Runtime Environment (build 1.7.0_71-b14)
Java HotSpot(TM) 64-Bit Server VM (build 24.71-b01, mixed mode)

Apache Ant version 1.6.1 compiled on May 17th 2004

GNU Make 3.81
Copyright (C) 2006 Free Software Foundation, Inc.
This is free software; see the source for copying conditions.
There is NO warranty; not even for MERCANTABILITY or FITNESS FOR A PARTICULAR PURPOSE

This program built for i686-pc-cygwin

Eclipse IDE for Java Developers
Version: Mars Release (4.5.0)
Build id:20150621-1200


Thanks in advance all reads and replies are appreciated: Let the fun begin

-Chris