The trick is to use a "passthrough" application class. That is, to debug 
the java app SomeoneElsesServer (say) you write a class

class MyPassthrough
{
        public static void main(String[] args)  {SomeoneElsesServer.main(args);}
}

and debug that in your IDE.

I am running Jonas 1.6.1 (haven't upgraded to 2 yet) under JBuilder 3 and 
can set breakpoints in my EJBs. When a remote client uses those methods and 
Jonas hits a breakpoint, it stops as it should do and I can step through 
code, look at variable values and the call stack, etc. By including the 
generated code in my classpath I can even step through that as well.

Attached are my passthrough classes for running Jonas 1.6.1 under JBuilder 
3 (I have an intermediate passthrough class that automatically loads all 
the .ser files in a directory, for convenience).

Joe


-----Original Message-----
From:   Nikolaus Rumm [SMTP:[EMAIL PROTECTED]]
Sent:   Wednesday, June 28, 2000 10:38 PM
To:     [EMAIL PROTECTED]
Subject:        Question on debugging

Hello,
maybe this is off topic, but I would like to know how experienced
EJB-developers handle debugging of EJBs.
All I see in my debugger are the remote stubs, which are of no help.
Currently I am debugging as my father did in the 70s,
by using System.out.println().
Any suggestions ?
Nikolaus



begin 600 JonasServer2.java
M+R\@5&ET;&4Z"0D)"5-%4$%304P@14I"<PT*+R\@3W)G86YI>F%T:6]N.@D)
M4F]Y86P@0F]T86YI8R!'87)D96YS($ME=PT*+R\@075T:&]R.@D)"0E*;V4@
M1VET=&EN9W,-"B\O($9I;&4Z"0D)"0E*;VYA<U-E<G9E<C(N:F%V80T*#0HO
M+R!4;R!F:6YD(&]U="!A8F]U="!315!!4T%,(&%N9"!T:&4@:6YF;W)M871I
M;VX@:70@8V]N=&%I;G,@;VX@=7-E9G5L(&1R>6QA;F0@<&QA;G1S+ T*+R\@
M<&QE87-E('9I<VET(&AT=' Z+R]W=W<N<F)G:V5W+F]R9RYU:R]C96(O<V5P
M87-A;"\-"@T*<&%C:V%G92!U:RYO<F<N<F)G:V5W+G-E<&%S86PN96IB.PT*
M#0II;7!O<G0@:F%V82YI;RXJ.PT*:6UP;W)T(&IA=F$N=71I;"XJ.PT*#0HO
M*BI087-S=&AR;W5G:"!C;&%S<SH@:70@<V5T<R!J;VYA<RYB96%N<RYP<F]P
M97)T:65S('1O(&-O;G1A:6X@=&AE(&YA;65S(&]F#0IA;&P@+G-E<B!F:6QE
M<R!I;B!T:&4@8W5R<F5N="!D:7)E8W1O<GDN#0I&;W(@;&%R9V4@<')O:F5C
M=',L(&UA:6YT86EN:6YG('1H:7,@<')O<&5R=&EE<R!E;G1R>2!B96-O;65S
M(&5X=')E;65L>2!T961I;W5S+BHO#0IP=6)L:6,@8VQA<W,@2F]N87-397)V
M97(R#0I[#0H)+RHJ1FEL=&5R(&-L87-S(&9O<B!O8G1A:6YI;F<@82!D:7)E
M8W1O<GD@;&ES=&EN9R!O9B N<V5R(&9I;&5S+BHO#0H)<')O=&5C=&5D('-T
M871I8R!C;&%S<R!397)&:6QE1FEL=&5R(&EM<&QE;65N=',@1FEL949I;'1E
M<@T*(" @>PT*(" @"7!U8FQI8R!B;V]L96%N(&%C8V5P="A&:6QE('!A=&AN
M86UE*0T*(" @(" @>PT*(" @(" @"5-T<FEN9R!S3&]W97(@/2!P871H;F%M
M92YG971.86UE*"DN=&],;W=E<D-A<V4H*3L-"B @(" @(" @(')E='5R;B!S
M3&]W97(N96YD<U=I=&@H(BYS97(B*3L-"B @(" @('T-"B @('T-"@T*"7!U
M8FQI8R!S=&%T:6,@=F]I9"!M86EN*%-T<FEN9R!A<F=S6UTI#0H@("![#0H@
M(" @( DO+R!,;V]K(&9O<B!A;&P@+G-E<B!F:6QE<R!I;B!T:&4@8W5R<F5N
M="!D:7)E8W1O<GDN#0H@(" );6%I;BAA<F=S+"(N(BQF86QS92D[#0H@("!]
M#0H-"@EP=6)L:6,@<W1A=&EC('9O:60@;6%I;@T*(" @* T*(" @"5-T<FEN
M9R!A<F=S6UTL4W1R:6YG('-397)&:6QE<T1I<F5C=&]R>2P-"B @(" @(&)O
M;VQE86X@8E5S949U;&QY475A;&EF:65D4V5R1FEL96YA;65S#0H@(" I#0H@
M("![#0H@(" )=')Y#0H@(" @("![#0H@(" @(" )+R\@4V5T(&IO;F%S+F)E
M86YS+F1E<V-R:7!T;W)S('1O(&-O;G1A:6X@86QL("YS97(@9FEL97,@:6X@
M=&AE('-P96-I9FEE9"!D:7)E8W1O<GDN#0H-"B @(" @( E&:6QE(&-U<G)E
M;G1$:7(@/2!N97<@1FEL92AS4V5R1FEL97-$:7)E8W1O<GDI.PT*(" @(" @
M(" @1FEL949I;'1E<B!F:6QT97(@/2!N97<@4V5R1FEL949I;'1E<[EMAIL PROTECTED]*
M(" @(" @(" @1FEL95M=('-E<D9I;&5S(#T@8W5R<F5N=$1I<BYL:7-T1FEL
M97,H9FEL=&5R*3L-"@T*(" @(" @(" @4WES=&5M+F]U="YP<FEN=&QN*")&
M;W5N9"!S97)I86QI>F5D(&1E<V-R:7!T;W)S.B(I.PT*(" @(" @(" @4W1R
M:6YG0G5F9F5R('-B0F5A;G,@/2!N97<@4W1R:6YG0G5F9F5R*"D[#0H@(" @
M(" @("!F;W(@*&EN="!I26YD97@@/2 P.R!I26YD97@@/"!S97)&:6QE<RYL
M96YG=&@[(&E);F1E>"LK*0T*(" @(" @(" @>PT*(" @(" @(" @"5-T<FEN
M9R!S1FEL96YA;64@/2!S97)&:6QE<UMI26YD97A=+F=E=$YA;64H*3L-"B @
M(" @(" @(" @(%-Y<W1E;2YO=70N<')I;G1L;BAS1FEL96YA;64I.PT*(" @
M(" @(" @(" @:68@*'-B0F5A;G,N;&5N9W1H*"DA/3 I('-B0F5A;G,N87!P
M96YD*"(L(BD[#0H-"B @(" @(" @(" @(&EF("AB57-E1G5L;'E1=6%L:69I
M961397)&:6QE;F%M97,I('-B0F5A;G,N87!P96YD*'-397)&:6QE<T1I<F5C
M=&]R>2 K("(O(BD[#0H@(" @(" @(" )<V)"96%N<RYA<'!E;F0H<T9I;&5N
M86UE*3L-"B @(" @(" @('T-"@T*(" @(" @(" @4WES=&5M+G-E=%!R;W!E
M<G1Y*")J;VYA<RYB96%N<RYD97-C<FEP=&]R<R(L<V)"96%N<RYT;U-T<FEN
M9R@I*3L-"@T*(" @(" @(" @+R\@4G5N('1H92!%2D(@<V5R=F5R+@T*#0H)
M"0EO<F<N;V)J96-T=V5B+FIO;F%S+G-E<G9E<BY397)V97(N;6%I;BAA<F=S
M*3L-"B @(" @?0T*(" @(" @8V%T8V@@*$5X8V5P=&EO;B!E*2![4WES=&5M
>+F5R<BYP<FEN=&QN*&4I.WT-"B @('T-"GT-"@T*
`
end

begin 600 JonasServerForJBuilder.java
M+R\@5&ET;&4Z"0D)"5-%4$%304P@14I"<PT*+R\@3W)G86YI>F%T:6]N.@D)
M4F]Y86P@0F]T86YI8R!'87)D96YS($ME=PT*+R\@075T:&]R.@D)"0E*;V4@
M1VET=&EN9W,-"B\O($9I;&4Z"0D)"0E*;VYA<U-E<G9E<D9O<DI"=6EL9&5R
M+FIA=F$-"@T*+R\@5&\@9FEN9"!O=70@86)O=70@4T5005-!3"!A;F0@=&AE
M(&EN9F]R;6%T:6]N(&ET(&-O;G1A:6YS(&]N('5S969U;"!D<GEL86YD('!L
M86YT<RP-"B\O('!L96%S92!V:7-I="!H='1P.B\O=W=W+G)B9VME=RYO<F<N
M=6LO8V5B+W-E<&%S86PO#0H-"G!A8VMA9V4@=6LN;W)G+G)B9VME=RYS97!A
M<V%L+F5J8CL-"@T*:6UP;W)T(&IA=F$N:6\N*CL-"FEM<&]R="!J879A+G5T
M:6PN*CL-"@T*+RHJ4&%S<W1H<F]U9V@@8VQA<W,@=&\@<G5N('1H92!*;VYA
M<R!%2D(@<V5R=F5R('5N9&5R($I"=6EL9&5R(#,N*B\-"G!U8FQI8R!C;&%S
M<R!*;VYA<U-E<G9E<D9O<DI"=6EL9&5R#0I[#0H)+RHJ4V%M92!A<R D2D].
M05-?4D]/5"XJ+PT*"7!R:79A=&4@<W1A=&EC(&9I;F%L(%-T<FEN9R!*3TY!
M4U]23T]4(#T@(F,Z+TIO94QO8V%L+TIA=F%,:6)R87)I97,O2F]N87,Q+C8N
M,2\B.PT*#0H@(" O*BI7:&5R92!Y;W5R($5*0G,@87)E+BHO#0H)<')I=F%T
M92!S=&%T:6,@9FEN86P@4W1R:6YG(%!23TI%0U1?4D]/5" ](")C.B]*;V4O
M4')O:F5C=',O4V5P87-A;$5*0B\B.PT*#0H@(" O*BI7:&5R92!Y;W5R(')U
M;G1I;64@8V]N9FEG=7)A=&EO;B!F:6QE<R!A<F4@*&DN92X@=&AE(&IO;F%S
M+G!R;W!E<G1I97,@9FEL92!F;W(@>6]U<@T*(" @<')O:F5C="P@86YD('1H
M92 N<V5R(&9I;&5S(&9O<B!T:&4@8F5A;G,I+B!-86YY('!E;W!L92!M86ME
M('1H:7,@=&AE:7(@<')O:F5C="!R;V]T+@T*(" @22!H879E(&$@<V5P87)A
M=&4@<W5B9&ER96-T;W)Y+BHO#0H@("!P<FEV871E('-T871I8R!F:6YA;"!3
M=')I;F<@0T].1E]&24Q%4U]$25(@/2!04D]*14-47U)/3U0@*R B8V]N9E]R
M=6XO(CL-"@T*"7!U8FQI8R!S=&%T:6,@=F]I9"!M86EN*%-T<FEN9R!A<F=S
M6UTI#0H@("![#0H@(" )=')Y#0H@(" @("![#0H@(" @(" )+R\@4W1A<G0@
M=&AE(')M:2!R96=I<W1R>2P@86YD('=A:70@8G)I969L>2X-"@T*(" @"0E2
M=6YT:6UE+F=E=%)U;G1I;64H*2YE>&5C*")R;6ER96=I<W1R>2(I.PT*(" @
M(" @(" )5&AR96%D+G-L965P*#4P,"D[#0H-"B @(" @(" @("\O(%-E="!P
M<F]P97)T:65S('1H870@>6]U(&YO<FUA;&QY('-E="!F<F]M('1H92!C;VUM
M86YD(&QI;F4N#0H-"@D)"5-Y<W1E;2YS9710<F]P97)T>2@B:6YS=&%L;"YR
M;V]T(BQ*3TY!4U]23T]4*3L-"B @(" @(" @(%-Y<W1E;2YS9710<F]P97)T
M>2@B:F%V82YS96-U<FET>2YP;VQI8WDB+$I/3D%37U)/3U0@*R B:F%V82YP
M;VQI8WDB*3L-"@D)"5-Y<W1E;2YS9710<F]P97)T>2@B:F%V82YN86UI;F<N
M9F%C=&]R>2YI;FET:6%L(BPB8V]M+G-U;BYJ;F1I+G)M:2YR96=I<W1R>2Y2
M96=I<W1R>4-O;G1E>'1&86-T;W)Y(BD[#0H-"B @(" @(" @("\O($QO860@
M=&AE('!R;VIE8W0M<W!E8VEF:6,@:F]N87,N<')O<&5R=&EE<R!F:6QE+@T*
M(" @(" @(" @+R\@270@:7,@;F5C97-S87)Y('1O(&1O('1H:7,@<')O9W)A
M;6%T:6-A;&QY(&)E8V%U<V4@=6YD97(@2D)U:6QD97(@,RP@=&AE(&-U<G)E
M;G0-"B @(" @(" @("\O(&1I<F5C=&]R>2!W:&5N('EO=2!R=6X@82!P<F]G
M<F%M(&ES('1H92!D:7)E8W1O<GD@:6X@=VAI8V@@=&AE(&%P<"YC;&%S<R!F
M:6QE(&QI=F5S+@T*(" @(" @(" @+R\@*%1H:7,@:7,@82!N97<@8G5G(&EN
M($I"=6EL9&5R(#,@+2!I;B!*0G5I;&1E<B R('1H92!C=7)R96YT(&1I<F5C
M=&]R>2!W:&5N('EO=2!R=6X@82!P<F]G<F%M#0H@(" @(" )+R\@:7,@=&AE
M('!R;VIE8W0@<F]O="DN#0H@(" @(" @(" O+R!4:&4@86QT97)N871I=F4@
M=&\@;&]A9&EN9R!T:&4@<')O<&5R=&EE<R!T:&ES('=A>2!W;W5L9"!B92!T
M;R!P=70@=&AE#0H@(" @(" @(" O+R!J;VYA<RYP<F]P97)T:65S(&9I;&4@
M:6X@=&AA="!D:7)E8W1O<GDZ(&YO="!A(&=O;V0@;W!T:6]N(&%S(&ET('=O
M=6QD(&)E#0H@(" @(" @(" O+R!D96QE=&5D(&EF('EO=2!C;&5A<F5D(&]U
M="!Y;W5R(&)U:6QD+@T*#0H)"0E0<F]P97)T:65S(&5X=')A4')O<',@/2!N
M97<@4')O<&5R=&EE<[EMAIL PROTECTED]*(" @(" @(" @1FEL94EN<'5T4W1R96%M(&9I
M<R ](&YE=R!&:6QE26YP=713=')E86TH0T].1E]&24Q%4U]$25(@*R B:F]N
M87,N<')O<&5R=&EE<R(I.PT*(" @(" @(" @97AT<F%0<F]P<RYL;V%D*&9I
M<RD[#0H@(" @(" @("!F:7,N8VQO<V4H*3L-"@T*(" @(" @(" @+R\@4W1I
M8VL@=&AE('!R;W!E<G1I97,@;&]A9&5D(&9R;VT@=&AE('!R;VIE8W0M<W!E
M8VEF:6,@:F]N87,N<')O<&5R=&EE<R!F:6QE(&EN=&\-"B @(" @(" @("\O
M('1H92!G;&]B86P@<')O<&5R=&EE<RX-"@T*(" @(" @(" @4')O<&5R=&EE
M<R!S>7-0<F]P<R ](%-Y<W1E;2YG9710<F]P97)T:65S*"D[#0H@(" @(" @
M("!S>7-0<F]P<RYP=71!;&PH97AT<F%0<F]P<RD[#0H@(" @(" @("!3>7-T
M96TN<V5T4')O<&5R=&EE<RAS>7-0<F]P<RD[#0H-"B @(" @(" @("\O($YO
M=R!W92!C86X@<G5N('1H92!%2D(@<V5R=F5R+@T*(" @(" @(" @+R\@4F5Q
M=65S="!T:&%T(&%L;"!T:&4@9FEL96YA;65S(&EN(&IO;F%S+F)E86XN9&5S
M8W)I<'1O<G,@87)E(&9U;&QY('%U86QI9FEE9"X-"B @(" @(" @("\O($%G
M86EN+"!I="=S(&YE8V5S<V%R>2!T;R!D;R!T:&ES(&)E8V%U<V4@;V8@=&AE
M('!R;V)L96T@=VET:"!*0G5I;&1E<B S(&1E<V-R:6)E9"!A8F]V92X-"@T*
M"0D)=6LN;W)G+G)B9VME=RYS97!A<V%L+F5J8BY*;VYA<U-E<G9E<C(N;6%I
M;BAA<F=S+$-/3D9?1DE,15-?1$E2+'1R=64I.PT*(" @("!]#0H@(" @("!C
M871C:" H17AC97!T:6]N(&4I('M3>7-T96TN97)R+G!R:6YT;&XH92D[?0T*
+(" @?0T*?0T*#0IT
`
end

----
To unsubscribe, send email to [EMAIL PROTECTED] and
include in the body of the message "unsubscribe jonas-users".
For general help, send email to [EMAIL PROTECTED] and
include in the body of the message "help".

Reply via email to