Oracle FAQ | Your Portal to the Oracle Knowledge Grid |
![]() |
![]() |
Home -> Community -> Mailing Lists -> Oracle-L -> RE: Using Unix debuggers to attach to Oracle processes
Interesting. Can I ask a slightly different question. According to metalinks note #121779.1, one can use dbx (or gdb for HP in note #273324.1) to print/call ksudss. I see ksudss in the name list (via nm), but I am not sure how I call it with adb or mdb (the only two debuggers available to me). I also came across Egor's thread on this topic (http://www.freelists.org/archives/oracle-l/07-2005/msg00719.html) which lead me to try some tests.
In mdb, :c and call are unrecognized symbols (at least on my system). Using a little bit of backward logic, I tried the same thing in adb (ksudss:c 10). It appears to be working, kinda - the call to ksudss simply hangs, as well as the process I am attached to.
Any ideas how to proceed from here. I have learned a lot today, so perhaps my quota is up and I need to wait until tomorrow. *grin*
charles
From: Tanel Põder [mailto:tanel.poder.003_at_mail.ee]
Sent: Thursday, May 04, 2006 12:50 PM
To: Schultz, Charles; Stefan Knecht
Cc: oracle-l
Subject: Re: Using Unix debuggers to attach to Oracle processes
You might not have such symbol in the oracle binary where you're trying to set the breakpoint. Sometimes compilers may change the external function names a bit, by adding a prefix or suffix to different versions of a function.
Try the following:
nm $ORACLE_HOME/bin/oracle | grep -i qmxtgr
and see whether you see any function which reminds the one you're looking for.
I'm not familiar with adb, but a good mdb tutorial can be found at http://www.solarisinternals.com/si/reading/chpt_mdb_os.pdf It's a preview chapter from Solaris 10 internals book due to be out in June, so all cool features might not be available on earlier versions, but the basic stuff should be the same.
Tanel.
-- http://www.freelists.org/webpage/oracle-lReceived on Thu May 04 2006 - 15:05:23 CDT
![]() |
![]() |