From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: (qmail 31797 invoked by alias); 14 Aug 2009 09:40:52 -0000 Received: (qmail 30889 invoked by uid 48); 14 Aug 2009 09:40:33 -0000 Date: Fri, 14 Aug 2009 09:40:00 -0000 Message-ID: <20090814094033.30888.qmail@sourceware.org> From: "mjw at redhat dot com" To: systemtap@sources.redhat.com In-Reply-To: <20090812145803.10512.mjw@redhat.com> References: <20090812145803.10512.mjw@redhat.com> Reply-To: sourceware-bugzilla@sourceware.org Subject: [Bug runtime/10512] STAP_PROBES don't work in c++ constructors/destructors X-Bugzilla-Reason: AssignedTo Mailing-List: contact systemtap-help@sourceware.org; run by ezmlm Precedence: bulk List-Id: List-Subscribe: List-Post: List-Help: , Sender: systemtap-owner@sourceware.org X-SW-Source: 2009-q3/txt/msg00371.txt.bz2 ------- 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.