Debugging a Gem?

Previous Topic Next Topic
 
classic Classic list List threaded Threaded
2 messages Options
Reply | Threaded
Open this post in threaded view
|

Debugging a Gem?

Philippe Marschall
Hi

While porting the AJP adaptor to GemStone I need a way to debug a Gem.
I'm using WAGemStoneRunSeasideGems to start the adaptor. The socket
gets opened but no response gets written. I'm assuming that there's an
exception happening while reading the request or writing the response.
What I would ideally like to have is a debugger pop up in GemTools
when there's an unhandled exception or a halt. What would also work it
a way to step through the code in a Gem. I'm sure there's a way to do
this and I'm just missing it.

What might make the situation tricky is that some objects are involved
should probably not be written to disk (Sockets, Semaphores).

Cheers
Philippe
Reply | Threaded
Open this post in threaded view
|

Re: Debugging a Gem?

Dale Henrichs
Philippe,

The best way to deal with this situation is to start the adaptor from a workspace in GemTools. The UI process will block, but if you hit a walkback, the debugger should come up and you can work in place.

I always recommend reading the section on working with processes in this post[1] as it describes some of the funky things you might find yourself needing to do while using this technique (Swazoo doesn't clean up after itself and sometimes you have to recycle the gem).

There are a couple of expressions at the top of the Seaside30 workspace[2].

Dale

[1] http://gemstonesoup.wordpress.com/2009/04/15/glass-beta-update-working-with-soap-preview/#GsProcesses
[2] http://code.google.com/p/glassdb/wiki/GemToolsView
----- Original Message -----
| From: "Philippe Marschall" <[hidden email]>
| To: "GemStone Seaside beta discussion" <[hidden email]>
| Sent: Monday, April 9, 2012 6:34:56 AM
| Subject: [GS/SS Beta] Debugging a Gem?
|
| Hi
|
| While porting the AJP adaptor to GemStone I need a way to debug a
| Gem.
| I'm using WAGemStoneRunSeasideGems to start the adaptor. The socket
| gets opened but no response gets written. I'm assuming that there's
| an
| exception happening while reading the request or writing the
| response.
| What I would ideally like to have is a debugger pop up in GemTools
| when there's an unhandled exception or a halt. What would also work
| it
| a way to step through the code in a Gem. I'm sure there's a way to do
| this and I'm just missing it.
|
| What might make the situation tricky is that some objects are
| involved
| should probably not be written to disk (Sockets, Semaphores).
|
| Cheers
| Philippe
|