Debug a tuxedo that is running server with dbx

Hi all

I'm triying to debug a server running Tux with dbx, calling one of its services by using a Java client. I've read (Re: gdb - problem of debugging and Re: Service Tuxedo in C/C++ debugging but I can't solve my problem with them.) These are the steps I followed:

(1) the server normally with tmboot starts:

/ Applications/Atos/CRPR_RESI/bin > tmboot s ac_reAdmXaGesNegocioS_ext_V1000
INFO: Oracle Tuxedo, 10.3.0.0, 64-bit Version, Patch level (none)

The server process starting...

exec ac_reAdmXaGesNegocioS_ext_V1000 - R:
process ID = 10813652... Has begun.
1 started process.

(2) copy the sorce file in the binary directory, sort of dbx can associate the lines.
(3) attach dbx to the PID of the server:

/ Applications/Atos/CRPR_RESI/bin > dbx - one 10813652
Waiting for an attachment to the 10813652 process...
Attached successfully to ac_reAdmXaGesNegocioS_ext_V1000.
Help, type 'help '.
reading symbolic information... attention: ac_reAdmXaGestorNegociosS_ext.cpp is newer than ac_reAdmXaGesNegocioS_ext_V1000

order in msgrcv to 0x9000000001d1a10 ($t1)
0x9000000001d1a10 (msgrcv + 0xb0) e8410028 ld r2, 0 x 28 (r1)
(dbx)

(4) I don't know why it automatically stops at "msgrcv"?. Anyway, I put a breakpoint on the line at the start of my service:

(dbx) stop at 13930
[1] stop at the "ac_reAdmXaGestorNegociosS_ext.cpp": 13930.
(dbx) list 13919, 13935
13919 //{{IDL_HEADER(ac_re_ctrlversion_consulta)
13920 Sub ac_re_ctrlversion_consulta::Implementation)
13921
13922 NAMESPACE (ac_resp_st_gestor_negocios_ext2) ac_re_st_ctrol_versiones filtro_entrada
13923, namespace (ac_resp_st_gestor_negocios_ext2) ac_re_st_ult_ctrol_versiones * estruct_paginado
13924, RPRInt16 * num_Items
13925, namespace (ac_resp_st_gestor_negocios_ext2) ac_re_st_ctrol_versiones * lista_regsalida
13926, RPRUbyte * pcHayMas
13927)
}} IDL_HEADER (ac_re_ctrlversion_consulta) 13928
{13929
Traza 13930 ("* INICIO DEL SERVICIO OF CONSULTA EN AC_CTRLVERSION *");
13931 Traza("***DECLARACIONES***");
13932 RProcRAccess VAC;
Cursor 13933 & c_consulta = * VAC. GetCursor();
13934 DateTime date;
13935
(dbx)

(5) I call via the Java client, and the client blocks... waiting for the service. I do 'Steps' dbx:

step (dbx)

Signal defined by user 1 to msgrcv to 0x9000000001d1a10 ($t1)
0x9000000001d1a10 (msgrcv + 0xb0) e8410028 ld r2, 0 x 28 (r1)
step (dbx)
order Uintercept to 0x900000007ba2850 ($t1)
0x900000007ba2850 (Uintercept) fbe1fff8 std r31,-8 (r1)
step (dbx)
< in this point frezees dbx, the service and the client Java resumes >

(6) it is truncated the service log:

[24/01/2012 11:48:31] WARNING: no rpr_srv_version specified
[24/01/2012 11:48:31] Service AC_RE_CONSULVER (IN) - < size = 4096, Version = 627632180, Flags = 0 >.
[24/01/2012 11:48:31] #1 - RPR_NTVVAR = {.}
[24/01/2012 11:48:31] #2 - RPR_NTVVAR = {.}
[24/01/2012 11:48:31] #3 - RPR_SHORT = 1
...
[24/01/2012 11:48:31] Service AC_RE_CONSULVER (FATE) - < size = 1672, Version = 627632180, Flags = 0 >.
[24/01/2012 11:48:31] #2 - RPR_NTVVAR = {.}
[24/01/2012 11:48:31] #3 - RPR_SHORT = 0
[24/01/2012 11:48:31] #4 - RPR_NTVVAR = {.}
[24/01/2012 11:48:31] #5 - RPR_CHAR = 78

(7) I have to press CTRL + C on dbx:

< CTRL + C >
Interrupt in msgrcv to 0x9000000001d1a10 ($t1)
0x9000000001d1a10 (msgrcv + 0xb0) e8410028 ld r2, 0 x 28 (r1)
(dbx)

(8) it goes back to normal and when I leave, the PID of the server has changed, and the former appears at the end of the command line of servers behind the parameter-R. I don't know what that means:

quit smoking (dbx)
/ Applications/Atos/CRPR_RESI/bin > ps - ef | grep ac_reAdmXaGesNegocioS_ext_V1000
Atos 6860940 10399980 0 11:53:28 pts/15 0:00 grep ac_reAdmXaGesNegocioS_ext_V1000
Atos * 7163938 * 1 4 11:53:26 - 0:00 ac_reAdmXaGesNegocioS_ext_V1000-C dom = 5 RESI_DOMAIN_CSTR_EVR g-i 911 u tdea3p02_maclan/applications/atos/CRPR_RESI/release/ULOG_AC_RE - U m 0 10813652 r
/ Applications/Atos/CRPR_RESI/bin >

(9) the internal logic of the service is not performed correctly, when dbx is used, because there is no data on the output. But it works properly without attached dbx.

I think I did wrong to somenthing (or many things wrong :)), but I am lost at this point. Any advice will be appreciated.

Thank you
Gabriel

Hi Gabriel,

don't know if this qualifies as a related smoking question and I'm a little lost in all these lines, but...

... When you attach dbx to a process, it will become annexed by dbx (normal behavior) and you start to go through the instructions (machine code) using 'step', but I would (probably) use "cont (inue)" instead giving control to the process rather (based on what you really want to)

Good luck
Kristian

Tags: Fusion Middleware

Similar Questions

Maybe you are looking for

  • Why is loading not images in Bing with Firefox 22.0?

    Since upgrading to Firefox 22.0 images on Bing will not charge. Images on Google work very well. Images on Bing work fine in Internet Explorer. I tried all of the solutions I met re: images does not and it does not solve the problem with FF22.0 and B

  • License policy

    What type of upgrade IOS I just install? For example: I have the Bay and install the end-user a Cisco 2610 with IP -. In ADDITION, 12.0.5 (the CD version). Some time later, Cisco publish new versions and can I download it (as 'registred user'). 1) do

  • CAN SOMEONE HELP ME GET THE CPU TO QUIT RUNNING AT 100 WITHOUT A RUNNING PROGRAM? What is going on? Help!

    I just bought a laptop about four months ago.  The processor works 100% now with absolutely NOTHING running.  Microsoft answers this question?  I have critical documents on this computer and do all my work on the internet but I'm not a computer perso

  • previously retrieved deleted files

    How to restore this file? It seems that it might affect the beginning toward the top of my computer. is it possible that I could find these files? Thank you...

  • TOP_ID hierarchical table name

    create table one)ID number (5),name varchar2 (20).parent_id number (5));insert into a values ('2 ', 'a', '1');insert into a values ('3', 'b', '1');insert into a values ('22', 'aa', ' 2');insert into a values ('23 ","ab","2");insert into a values ('22