Re: Using Unix debuggers to attach to Oracle processes
- From: Tanel Põder <tanel.poder.003@xxxxxxx>
- To: <sac@xxxxxxxxxxxxx>, "Stefan Knecht" <knecht.stefan@xxxxxxxxx>
- Date: Fri, 5 May 2006 01:49:54 +0800
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.
----- Original Message -----
From: Schultz, Charles
To: Stefan Knecht
Cc: oracle-l
Sent: Thursday, May 04, 2006 9:52 PM
Subject: RE: Using Unix debuggers to attach to Oracle processes
Wow, that is very good. Thanks Stefan and Tanel!
Now I have to not only read that wealth of information, but understand
it..... =) Also, we do not have access to gdb (used in Tanel's example), but I
am hoping to use his examples and hack something together for our site.
------------------------------------------------------------------------------
From: Stefan Knecht [mailto:knecht.stefan@xxxxxxxxx]
Sent: Thursday, May 04, 2006 8:43 AM
To: Schultz, Charles
Cc: oracle-l
Subject: Re: Using Unix debuggers to attach to Oracle processes
Tanel Põder has an interesting presentation on this:
http://integrid.info/hotsos05/Advanced%20Research%20Techniques.pdf
HTH
Stefan
On 5/4/06, Schultz, Charles <sac@xxxxxxxxxxxxx> wrote:
Anyone familiar with using adb or mdb to attach to Unix (Solaris)
processes? I am working with Oracle Support, but the guy behind the
curtain (the developer) is in England, and it is hard to communicate
quickly since our shifts do not overlap for long.
This is what I have so far - I bomb on #5 with an "unknown symbol":
1. adb -P'> ' $ORACLE_HOME/bin/oracle
2. Wait for the "> " prompt
3. Determine the OS pid of the shadow ("oracle$ORACLE_SID") process. The
steps below assume that the pid is 123456.
4. Attach to the process by typing "0t123456:A" at the "> " prompt
5. Set a breakpoint in qmxtgrGetBindVal() by typing "qmxtgrGetBindVal:b"
at the "> " prompt.
6. Allow the process to continue execution by typing ":c" at the "> "
prompt.
7. Repeat steps 1-6 for all of the shared_server processes(p00x)and QC
process executing the "adb" command under different windows.
charles schultz
oracle dba
aits - adsd
university of illinois
--
http://www.freelists.org/webpage/oracle-l
- References:
- RE: Using Unix debuggers to attach to Oracle processes
- From: Schultz, Charles
Other related posts:
- » Using Unix debuggers to attach to Oracle processes
- » Re: Using Unix debuggers to attach to Oracle processes
- » RE: Using Unix debuggers to attach to Oracle processes
- » Re: Using Unix debuggers to attach to Oracle processes
- » RE: Using Unix debuggers to attach to Oracle processes
- » RE: Using Unix debuggers to attach to Oracle processes
- » Re: Using Unix debuggers to attach to Oracle processes
- » Re: Using Unix debuggers to attach to Oracle processes
- » Re: Using Unix debuggers to attach to Oracle processes
- » RE: Using Unix debuggers to attach to Oracle processes
- » Re: Using Unix debuggers to attach to Oracle processes
- » Re: Using Unix debuggers to attach to Oracle processes
- » RE: Using Unix debuggers to attach to Oracle processes
- RE: Using Unix debuggers to attach to Oracle processes
- From: Schultz, Charles