From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: (qmail 1204 invoked by alias); 10 Oct 2006 03:06:55 -0000 Received: (qmail 1194 invoked by uid 22791); 10 Oct 2006 03:06:55 -0000 X-Spam-Status: No, hits=-2.3 required=5.0 tests=AWL,BAYES_00,SPF_PASS X-Spam-Check-By: sourceware.org Received: from ausmtp05.au.ibm.com (HELO ausmtp05.au.ibm.com) (202.81.18.154) by sourceware.org (qpsmtpd/0.31) with ESMTP; Tue, 10 Oct 2006 03:06:52 +0000 Received: from sd0208e0.au.ibm.com (d23rh904.au.ibm.com [202.81.18.202]) by ausmtp05.au.ibm.com (8.13.6/8.13.6) with ESMTP id k9A393qF6549744 for ; Tue, 10 Oct 2006 13:09:03 +1000 Received: from d23av01.au.ibm.com (d23av01.au.ibm.com [9.190.250.242]) by sd0208e0.au.ibm.com (8.13.6/8.13.6/NCO v8.1.1) with ESMTP id k9A3AExO191764 for ; Tue, 10 Oct 2006 13:10:14 +1000 Received: from d23av01.au.ibm.com (loopback [127.0.0.1]) by d23av01.au.ibm.com (8.12.11.20060308/8.13.3) with ESMTP id k9A36mwU012654 for ; Tue, 10 Oct 2006 13:06:48 +1000 Received: from [9.181.133.94] ([9.181.133.94]) by d23av01.au.ibm.com (8.12.11.20060308/8.12.11) with ESMTP id k9A36i29012492 for ; Tue, 10 Oct 2006 13:06:47 +1000 Message-ID: <452B0EEB.5020206@cn.ibm.com> Date: Tue, 10 Oct 2006 03:06:00 -0000 From: Li Guanglei Organization: IBM CSTL User-Agent: Thunderbird 1.5.0.7 (Windows/20060909) MIME-Version: 1.0 To: "systemtap@sourceware.org" Subject: put probes on a specific line Content-Type: text/plain; charset=ISO-8859-1; format=flowed Content-Transfer-Encoding: 7bit X-IsSubscribed: yes Mailing-List: contact systemtap-help@sourceware.org; run by ezmlm Precedence: bulk List-Subscribe: List-Post: List-Help: , Sender: systemtap-owner@sourceware.org X-SW-Source: 2006-q4/txt/msg00054.txt.bz2 Hi, I ever thought that kernel.function("*@kernel/signal.c:734") will put a probe on line 734. But after testing and reading the stapprobes man page, that actually refers to any functions within the "kernel/signal.c" file that span line 734, i.e, it equals to kernel.function("send_signal"). So it seems to me the only way to put probe on a specific line is to use kernel.statements(0x....). But this is really troublesome and inconvenient for me. Sometimes I need to visit some local variables and their valid location range is beyond the function prologue, so using kernel.function(..@lineno) will complain not finding that variable. So I think it is really helpful if kernel.function("*@kernel/signal.c:734") could act as I expected before, that is, it will put a probe on line 734 of signal.c. Or else SystemTap is of little help to probe somewhere inside a function and visit some of its local variables, and I think these are important for problem diagnosis. - Guanglei