Re: [PATCH v5 05/20] scripts/gdb: Add lx-symbols command
From: Tom Tromey
Date: Thu Feb 14 2013 - 10:41:26 EST
>>>>> "Jan" == Jan Kiszka <jan.kiszka@xxxxxxxxxxx> 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> + 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.
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/