From: Tom Tromey <tromey@redhat.com>
To: Jan Kiszka <jan.kiszka@siemens.com>
Cc: Andrew Morton <akpm@linux-foundation.org>,
linux-kernel@vger.kernel.org,
Jason Wessel <jason.wessel@windriver.com>,
kgdb-bugreport@lists.sourceforge.net,
Andi Kleen <andi@firstfloor.org>, Ben Widawsky <ben@bwidawsk.net>,
Borislav Petkov <bp@alien8.de>
Subject: Re: [PATCH v5 05/20] scripts/gdb: Add lx-symbols command
Date: Thu, 14 Feb 2013 08:40:50 -0700 [thread overview]
Message-ID: <877gmakinx.fsf@fleche.redhat.com> (raw)
In-Reply-To: <9fd8d68344bdc125a0345f04d2f7484f262459a8.1359463075.git.jan.kiszka@siemens.com> (Jan Kiszka's message of "Tue, 29 Jan 2013 13:37:48 +0100")
>>>>> "Jan" == Jan Kiszka <jan.kiszka@siemens.com> writes:
Jan> In addition, the command installs a silent breakpoint in the load_module
Jan> function at the point where the module was loaded but not yet
Jan> initialized. The breakpoint handler will try to load symbols from the
Jan> module files found during lx-symbols execution. This way, breakpoints
Jan> can be set to module initialization functions, and there is usually no
Jan> need to explicitly call lx-symbols after (re-)loading a module.
It is a nice approach, but I wonder whether the kernel's gdb stub could
use the existing qXfer:libraries remote protocol packet. And, if not,
could we extend gdb to make it work.
Jan> + def _find_breakpoint_location(self):
Jan> + breakpoint_match = "^[0-9]*[\t]*err = parse_args\(.*"
Jan> +
Jan> + src = gdb.execute("list kernel/module.c:load_module",
Jan> + to_string = True)
Whatever works -- but I think there are better ways.
The simplest is introducing a function that is called at the right spot
with the right arguments. It doesn't need to do anything, just be a
name where you can put a breakpoint.
Jan> + import symbols
I think it's better to put everything into its own package, e.g. 'import
linux.symbols', to try to avoid conflicts with other python modules that
may get loaded.
Tom
next prev parent reply other threads:[~2013-02-14 15:41 UTC|newest]
Thread overview: 33+ messages / expand[flat|nested] mbox.gz Atom feed top
2013-01-29 12:37 [PATCH v5 00/20] Add gdb python scripts as kernel debugging helpers Jan Kiszka
2013-01-29 12:37 ` [PATCH v5 01/20] scripts/gdb: Add infrastructure Jan Kiszka
2013-02-13 21:43 ` Tom Tromey
2013-01-29 12:37 ` [PATCH v5 02/20] scripts/gdb: Add cache for type objects Jan Kiszka
2013-01-29 12:37 ` [PATCH v5 03/20] scripts/gdb: Add container_of helper and convenience function Jan Kiszka
2013-01-29 12:37 ` [PATCH v5 04/20] scripts/gdb: Add module iteration helper Jan Kiszka
2013-01-29 12:37 ` [PATCH v5 05/20] scripts/gdb: Add lx-symbols command Jan Kiszka
2013-02-14 15:40 ` Tom Tromey [this message]
2013-02-14 15:48 ` Jan Kiszka
2013-01-29 12:37 ` [PATCH v5 06/20] scripts/gdb: Add internal helper and convenience function to look up a module Jan Kiszka
2013-01-29 12:37 ` [PATCH v5 07/20] scripts/gdb: Add lx_modvar convenience function Jan Kiszka
2013-01-29 12:37 ` [PATCH v5 08/20] scripts/gdb: Add get_target_endianness helper Jan Kiszka
2013-01-29 12:37 ` [PATCH v5 09/20] scripts/gdb: Add read_u16/32/64 helpers Jan Kiszka
2013-01-29 12:37 ` [PATCH v5 10/20] scripts/gdb: Add lx-dmesg command Jan Kiszka
2013-01-29 12:37 ` [PATCH v5 11/20] scripts/gdb: Add task iteration helper Jan Kiszka
2013-01-29 12:37 ` [PATCH v5 12/20] scripts/gdb: Add helper and convenience function to look up tasks Jan Kiszka
2013-01-29 12:37 ` [PATCH v5 13/20] scripts/gdb: Add is_target_arch helper Jan Kiszka
2013-02-13 21:38 ` Tom Tromey
2013-01-29 12:37 ` [PATCH v5 14/20] scripts/gdb: Add internal helper and convenience function to retrieve thread_info Jan Kiszka
2013-01-29 13:59 ` Borislav Petkov
2013-01-29 12:37 ` [PATCH v5 15/20] scripts/gdb: Add get_gdbserver_type helper Jan Kiszka
2013-01-29 12:37 ` [PATCH v5 16/20] scripts/gdb: Add internal helper and convenience function for per-cpu lookup Jan Kiszka
2013-01-29 13:51 ` Borislav Petkov
2013-01-29 13:56 ` Jan Kiszka
2013-01-29 14:12 ` Borislav Petkov
2013-01-29 14:25 ` Jan Kiszka
2013-01-29 12:38 ` [PATCH v5 17/20] scripts/gdb: Add lx_current convenience function Jan Kiszka
2013-01-29 12:38 ` [PATCH v5 18/20] scripts/gdb: Add helper to iterate over CPU masks Jan Kiszka
2013-01-29 12:38 ` [PATCH v5 19/20] scripts/gdb: Add lx-lsmod command Jan Kiszka
2013-01-29 12:38 ` [PATCH v5 20/20] scripts/gdb: Add basic documentation Jan Kiszka
2013-02-06 9:23 ` [PATCH v6 " Jan Kiszka
2013-02-09 16:15 ` [PATCH v5 " Rob Landley
2013-01-29 14:15 ` [PATCH v5 00/20] Add gdb python scripts as kernel debugging helpers Borislav Petkov
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=877gmakinx.fsf@fleche.redhat.com \
--to=tromey@redhat.com \
--cc=akpm@linux-foundation.org \
--cc=andi@firstfloor.org \
--cc=ben@bwidawsk.net \
--cc=bp@alien8.de \
--cc=jan.kiszka@siemens.com \
--cc=jason.wessel@windriver.com \
--cc=kgdb-bugreport@lists.sourceforge.net \
--cc=linux-kernel@vger.kernel.org \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox