Messages in this thread |  | | From | Tom Tromey <> | Subject | Re: [PATCH v5 05/20] scripts/gdb: Add lx-symbols command | Date | Thu, 14 Feb 2013 08:40:50 -0700 |
| |
>>>>> "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
|  |