From owner-freebsd-hackers@freebsd.org Mon Aug 6 07:49:03 2018 Return-Path: Delivered-To: freebsd-hackers@mailman.ysv.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mailman.ysv.freebsd.org (Postfix) with ESMTP id C9ACA10735C8 for ; Mon, 6 Aug 2018 07:49:03 +0000 (UTC) (envelope-from agapon@gmail.com) Received: from mail-pl0-f49.google.com (mail-pl0-f49.google.com [209.85.160.49]) (using TLSv1.2 with cipher ECDHE-RSA-AES128-GCM-SHA256 (128/128 bits)) (Client CN "smtp.gmail.com", Issuer "Google Internet Authority G3" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 58E8A8D5E6 for ; Mon, 6 Aug 2018 07:49:03 +0000 (UTC) (envelope-from agapon@gmail.com) Received: by mail-pl0-f49.google.com with SMTP id m1-v6so5306591plt.6 for ; Mon, 06 Aug 2018 00:49:03 -0700 (PDT) X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20161025; h=x-gm-message-state:subject:to:references:from:message-id:date :user-agent:mime-version:in-reply-to:content-language :content-transfer-encoding; bh=ZER3CUK0JwXsiSWTVFp3eetCGrzWD9rvWC0Nwk0Kj4s=; b=U5uDkuPPR6G6KCCVxzzG5G1YNdVghM/Nr1DOrfk8ranEiz+6QCq61ZVDtrqcZmEQTS cfEOKCjAnKiimvuDWpnHCqqi2kF0IkovBI0nwf2NmxHeoad7PAQvVDQrde1kPXrsqEm0 78FzSZxlcIV+CTFiF8mIQyu1nykA47L5I+APayJ8D7/ANtJgnsdy7ZmCYP98k/SKNfBJ HGMdEvyR+Z/yl9UGgJmS+m/P0fsdwKHKx9YCRq8E9bvI2bFoPskodQhFvnLd4WcNTESe rbWADjpuPSgV9Zg3wJz9vRAk2grfngIgD3PCe/+hDVoqiZsqXXg2fb2qO6nwSwjjSw+C uHZA== X-Gm-Message-State: AOUpUlGWyd/W/wenR8WU0Z4V+kVImHmcnzzCdreDeE0MDjrYpPKAYkEv OoSgGc4j+V3nZHoGD5iPhLURuw0T X-Google-Smtp-Source: AAOMgpcBlCV6GguRPzRmP9FNwMO6LbtDV6mPpj2/MOlANLn1x8jkn9znf6A1bhDAE7RndDvTy9QJ7A== X-Received: by 2002:a17:902:8215:: with SMTP id x21-v6mr12743182pln.175.1533539933263; Mon, 06 Aug 2018 00:18:53 -0700 (PDT) Received: from [192.168.1.36] (broadband-95-106-139-240.atc.tvcom.ru. [95.106.139.240]) by smtp.googlemail.com with ESMTPSA id g69-v6sm23485121pfd.23.2018.08.06.00.18.51 (version=TLS1_2 cipher=ECDHE-RSA-AES128-GCM-SHA256 bits=128/128); Mon, 06 Aug 2018 00:18:52 -0700 (PDT) Subject: Re: addr2line with FreeBSD kernel failing To: Farhan Khan , freebsd-hackers@freebsd.org References: From: Andriy Gapon Message-ID: Date: Mon, 6 Aug 2018 10:18:50 +0300 User-Agent: Mozilla/5.0 (Windows NT 6.3; WOW64; rv:52.0) Gecko/20100101 Thunderbird/52.9.1 MIME-Version: 1.0 In-Reply-To: Content-Type: text/plain; charset=utf-8 Content-Language: en-US Content-Transfer-Encoding: 7bit X-BeenThere: freebsd-hackers@freebsd.org X-Mailman-Version: 2.1.27 Precedence: list List-Id: Technical Discussions relating to FreeBSD List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Mon, 06 Aug 2018 07:49:04 -0000 On 06/08/2018 04:31, Farhan Khan wrote: > Hi all, > > Is there a way to go from a memory address to a kernel symbol? > > I am working with a subsystem that uses a lot of function pointers, > and I am not certain which particular function is being called. I have > dtrace(1) printing out the memory address of the function, like this: > > printf("Runs vap->iv_newstate: 0x%p", vap->iv_newstate); > > The resulting memory address will be 0xffffffff834fa6d0. I was told I > can use addr2line(1), but it seems to fail, as follows: > > # addr2line -e /usr/obj/usr/src/amd64.amd64/sys/GENERIC/kernel.full > ffffffff834fa6d0 > ??:0 Try 0xffffffff834fa6d0 > Am I doing something wrong? Also, if I can do this directly in > dtrace(1), that would be much much better. This is definitely the > installed kernel, so there is no kernel mismatch. I have also tried > using kernel.debug and kernel, same result. -- Andriy Gapon