This is the mail archive of the
systemtap@sourceware.org
mailing list for the systemtap project.
[Bug runtime/10512] STAP_PROBES don't work in c++ constructors/destructors
- From: "mjw at redhat dot com" <sourceware-bugzilla at sourceware dot org>
- To: systemtap at sources dot redhat dot com
- Date: 14 Aug 2009 09:40:33 -0000
- Subject: [Bug runtime/10512] STAP_PROBES don't work in c++ constructors/destructors
- References: <20090812145803.10512.mjw@redhat.com>
- Reply-to: sourceware-bugzilla at sourceware dot org
------- Additional Comments From mjw at redhat dot com 2009-08-14 09:40 -------
(In reply to comment #2)
> As can be seen from the alternatives suggested only the variables of the
> function into which the probe was inlined are visible.
This is because they aren't available as dwarf locations. Note that the values
are there. We even mark them as comments in the assembly:
# 14 "cxxclass.cxx.test.cxx" 1
2:
nop /* %rax %edx */
# 0 "" 2
So we can actually access them, if we would know the registers they are stored in:
$ stap -e 'probe process("./test").mark("cons") { printf("cons hit @0x%x name=%s
i=%d\n", uaddr(), user_string_quoted(u_register("rax")), register("edx")); }' -c
./test
cons call: 64
meth call: 64 24
dest call: 42
cons call2: 24
meth call2: 24 40
dest call2: 42
cons hit @0x40063f name="call" i=64
--
http://sourceware.org/bugzilla/show_bug.cgi?id=10512
------- You are receiving this mail because: -------
You are the assignee for the bug, or are watching the assignee.