Eclipse Debuging question

I have everything up and running and have been working on deck code. The problem is about 75% of the time it misses my break points. Specifically I have put a break point in getKeyCommands. Everytime i right click and get a context menu I should break. I can get this to happen once in a while but not consistently.

What might I be doing wrong?

I have it breaking in main, (works) I put break points at other locations during initialization and most work. But once the module is up and running… it is a pray that the break points will actually work.

Hi Carl,

Could you please post screenshots of each tab in the Debug Configuration you are using.

B.


Messages mailing list
Messages@forums.vassalengine.org
forums.vassalengine.org/mailman/ … engine.org

Post generated using Mail2Forum (mail2forum.com)

Here are the images.

The big question I have is, It does work some of the time. But others it just refuses to hit the break point. I thought it might actually be what thread I had highlighted in the debug view… it seemed to work when i had one selected over another. I think it was the AWT event queue thread that had the most success.

the rest

On a slightly different subject, I have noticed some very different behavior specifically with decks. Cards don’t move to locations the same, the flipping menu text no longer changes. Lots of oddities and I don’t think it is the code I added. Digging into it, it looks like major systems have changed and some basic systems haven’t been updated. True/Possible? Just want to know before I take off after a lot of “new” bugs I have discovered.

one example is with a deck if you add the face down/face up option, the text doesn’t change. I looked into it and the set of keycommands are created one and then commands[i].putValue(Action.NAME, …) is called. This changes the command’s name, however looking at the code and what the context menu reads, it looks at the command and simply checks for localized text and if it is set, just uses it. It never attempt to re-localize that text.

*********** REPLY SEPARATOR ***********

On 21/07/2009 at 8:35 PM vbbartlett wrote:

Shouldn’t matter. If you have a debug point set on a piece of code, then any thread that hits that point should suspend.

The problem you describe exactly matches the symptoms of when the source your debug config is pointing to does not match the project you are debugging. This is the only time I have had problems with debug points not being hit. (Other than the debug points being in the wrong piece of code due to my total misunderstanding of how part of Vassal operates). You set a debug on a line of source that does not exist in the project you are debugging.

Try adding a System.out.println(“here”) to the point that you want to debug and double check your executing program actually reaches that point.

B.


Messages mailing list
Messages@forums.vassalengine.org
forums.vassalengine.org/mailman/ … engine.org

Post generated using Mail2Forum (mail2forum.com)

Yes, there have been significant changes in a number of components in the 3.2 trunk. It should not affect the way existing modules work, so a detailed list of the problems/differences you have found would be appreciated.

That’s a bug in the current version of Vassal also. It’s not something I have played with.

BTW, I strongly advise that you recreate your branch as I suggested earlier. You have created your branch from the wrong point. This may or may not impact on trying to set up debugging configurations etc.


Messages mailing list
Messages@forums.vassalengine.org
forums.vassalengine.org/mailman/ … engine.org

Post generated using Mail2Forum (mail2forum.com)

Im missing something…
I created a branch and I checked it out.
No special settings just defaulted options

Next I select properties on the main proj and add external jars from the /lib directory.

Next I create a debug config
The main class is VASSAL.launch.Player
use the arg is -e “{vassal path}\SWED3.2.mod”
include system libraries is checked

next i go to deck.java and add a break point in getKeyCommands() the first line ctrl-shft-B.

Finally i hit the debug button.

Once the game is up, for me i have to create a new game the wizard is turned off. I select a empty deck on the map and right click. This should cause the break point to be hit… but nothing happens. The context menu is displayed.

Next I add the print and it displays in the window.

What did I do wrong?

Continuing to play with it, I open a “deck” window and right click on one of the decks in there it will hit the break point SOME OF THE TIME. Now I can go back to the map and it will break when I do the same for the decks there.

Basically it is a 50-50 chance that it will actually stop at the break point.

Hi Carl,

Normally, I would use just

“{vassal path}\SWED3.2.mod”

for Player and

–edit “{vassal path}\SWED3.2.mod”

for Editor. Shouldn’t cause your debug problems though.

Going back to the screenshots you sent through of the Debug Config, the contents of the source tab do not look right. Can you go back to the main project manager, right click on your project, select

Build Path → Configure Build Path…

and post a screenshot of the 4 tabs there.

Rgds,
B.


Messages mailing list
Messages@forums.vassalengine.org
forums.vassalengine.org/mailman/ … engine.org

Post generated using Mail2Forum (mail2forum.com)

still working on getting those screen shots.
In the mean time I have at least to a degree figured out the problem with the cards not being able to move around to other decks.

the deck sets the obscured_by property to NO_USER, and then moves it to the deck, this causes the PeiceMover:579 conditional statement

if (!Boolean.TRUE.equals(piece.getProperty(Properties.OBSCURED_TO_ME))

which returns false because the piece is obscured by nobody but it is testing against the currentplayerid in playeraccess:44

How does this all work?

Hi Carl,

Found the problem. I have made changes in this area to support Deck content limitations and did not take into account dragging a counter off a Deck and dropping it straight on to another one. Decks are a big kludge and handle masking in a peculiar way. The 3.2 trunk has had no beta testing yet and only a small amount of primary testing by myself and Tim, so you are quite likely to find problems. Thanks for spotting this one.

Fix committed to trunk@5869.

Regards,
B.


Messages mailing list
Messages@forums.vassalengine.org
forums.vassalengine.org/mailman/ … engine.org

Post generated using Mail2Forum (mail2forum.com)

No problem, In preparation (when ever it is) im upgrading one of the modules and playing it. So I will probably run across some issues. I guess I have volunteered to be a beta tester also. :slight_smile:

Still no luck on the eclipse. I have it set up on my home and work machines. At home it is horked but at work, it functions fine and Im doing the same things.

Im probably going to reinstall eclipse at home and start over again.