Groups | Search | Server Info | Keyboard shortcuts | Login | Register [http] [https] [nntp] [nntps]
Groups > linux.kernel > #1303566 > unrolled thread
| Started by | Kieran Bingham <kieran.bingham@linaro.org> |
|---|---|
| First post | 2016-01-07 14:00 +0100 |
| Last post | 2016-01-09 17:30 +0100 |
| Articles | 5 — 2 participants |
Back to article view | Back to linux.kernel
[PATCH 0/2] Linux Kernel Debugger GDB extensions Kieran Bingham <kieran.bingham@linaro.org> - 2016-01-07 14:00 +0100
[PATCH 2/2] scripts/gdb: Add cmdline reader command Kieran Bingham <kieran.bingham@linaro.org> - 2016-01-07 14:00 +0100
[PATCH 1/2] scripts/gdb: Add version command Kieran Bingham <kieran.bingham@linaro.org> - 2016-01-07 14:00 +0100
Re: [PATCH 1/2] scripts/gdb: Add version command Jan Kiszka <jan.kiszka@web.de> - 2016-01-09 17:10 +0100
Re: [PATCH 1/2] scripts/gdb: Add version command Kieran Bingham <kieran.bingham@linaro.org> - 2016-01-09 17:30 +0100
| From | Kieran Bingham <kieran.bingham@linaro.org> |
|---|---|
| Date | 2016-01-07 14:00 +0100 |
| Subject | [PATCH 0/2] Linux Kernel Debugger GDB extensions |
| Message-ID | <qOiky-8ew-5@gated-at.bofh.it> |
ST Microelectronics provides a set of debugging tools, customised to attach and debug a running (or crashed) linux kernel based on GDB. As part of working towards providing this functionality upstream, a number of commands can be written using the new CONFIG_GDB_SCRIPTS facilities. Here, as a means to introducing the work which is ongoing, are two initial (simple) commands which allow the user to identify the kernel version and command line used to boot. lx-cmdline Report the Linux Commandline used in the current kernel. lx-version Report the Linux Version of the current kernel. Based on the existing LKD project, follow up work will aim to provide similar facilities for: /proc/iomem /proc/ioports /proc/mounts /proc/interrupts /proc/meminfo The larger scale project also aims to provide thread integration into GDB, and userspace frame walking where possible. Kieran Bingham (2): scripts/gdb: Add version command scripts/gdb: Add cmdline reader command scripts/gdb/linux/proc.py | 40 ++++++++++++++++++++++++++++++++++++++++ scripts/gdb/vmlinux-gdb.py | 1 + 2 files changed, 41 insertions(+) create mode 100644 scripts/gdb/linux/proc.py -- 2.5.0 -- To unsubscribe from this list: send the line "unsubscribe linux-kernel" in the body of a message to majordomo@vger.kernel.org More majordomo info at http://vger.kernel.org/majordomo-info.html Please read the FAQ at http://www.tux.org/lkml/
[toc] | [next] | [standalone]
| From | Kieran Bingham <kieran.bingham@linaro.org> |
|---|---|
| Date | 2016-01-07 14:00 +0100 |
| Subject | [PATCH 2/2] scripts/gdb: Add cmdline reader command |
| Message-ID | <qOikz-8ew-17@gated-at.bofh.it> |
| In reply to | #1303566 |
lx-cmdline Report the Linux Commandline used in the current kernel
Signed-off-by: Kieran Bingham <kieran.bingham@linaro.org>
---
scripts/gdb/linux/proc.py | 13 +++++++++++++
1 file changed, 13 insertions(+)
diff --git a/scripts/gdb/linux/proc.py b/scripts/gdb/linux/proc.py
index 7a2afe60416a..4063ef65e160 100644
--- a/scripts/gdb/linux/proc.py
+++ b/scripts/gdb/linux/proc.py
@@ -13,6 +13,19 @@
import gdb
+class LxCmdLine(gdb.Command):
+ """ Report the Linux Commandline used in the current kernel.
+ Equivalent to cat /proc/cmdline on a running target
+ """
+
+ def __init__(self):
+ super(LxCmdLine, self).__init__("lx-cmdline", gdb.COMMAND_DATA)
+
+ def invoke(self, arg, from_tty):
+ gdb.write(gdb.parse_and_eval("saved_command_line").string() + "\n")
+
+LxCmdLine()
+
class LxVersion(gdb.Command):
""" Report the Linux Version of the current kernel.
Equivalent to cat /proc/version on a running target
--
2.5.0
--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@vger.kernel.org
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/
[toc] | [prev] | [next] | [standalone]
| From | Kieran Bingham <kieran.bingham@linaro.org> |
|---|---|
| Date | 2016-01-07 14:00 +0100 |
| Subject | [PATCH 1/2] scripts/gdb: Add version command |
| Message-ID | <qOikz-8ew-27@gated-at.bofh.it> |
| In reply to | #1303566 |
lx-version Report the Linux Version of the current kernel.
Add a command to identify the version specified by the banner in the
debugged kernel.
This lets the user identify the kernel of the running kernel, and will
let later scripts compare the banner of the attached kernel against the
banner in the vmlinux symbols files to verify that the files are correct.
Signed-off-by: Kieran Bingham <kieran.bingham@linaro.org>
---
scripts/gdb/linux/proc.py | 27 +++++++++++++++++++++++++++
scripts/gdb/vmlinux-gdb.py | 1 +
2 files changed, 28 insertions(+)
create mode 100644 scripts/gdb/linux/proc.py
diff --git a/scripts/gdb/linux/proc.py b/scripts/gdb/linux/proc.py
new file mode 100644
index 000000000000..7a2afe60416a
--- /dev/null
+++ b/scripts/gdb/linux/proc.py
@@ -0,0 +1,27 @@
+#
+# gdb helper commands and functions for Linux kernel debugging
+#
+# Kernel proc information reader
+#
+# Copyright (c) 2016 Linaro Ltd
+#
+# Authors:
+# Kieran Bingham <kieran.bingham@linaro.org>
+#
+# This work is licensed under the terms of the GNU GPL version 2.
+#
+
+import gdb
+
+class LxVersion(gdb.Command):
+ """ Report the Linux Version of the current kernel.
+ Equivalent to cat /proc/version on a running target
+ """
+ def __init__(self):
+ super(LxVersion, self).__init__("lx-version", gdb.COMMAND_DATA)
+
+ def invoke(self, arg, from_tty):
+ # linux_banner should contain a newline
+ gdb.write(gdb.parse_and_eval("linux_banner").string())
+
+LxVersion()
diff --git a/scripts/gdb/vmlinux-gdb.py b/scripts/gdb/vmlinux-gdb.py
index ce82bf5c3943..d5943eca19cd 100644
--- a/scripts/gdb/vmlinux-gdb.py
+++ b/scripts/gdb/vmlinux-gdb.py
@@ -29,3 +29,4 @@ else:
import linux.tasks
import linux.cpus
import linux.lists
+ import linux.proc
--
2.5.0
--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@vger.kernel.org
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/
[toc] | [prev] | [next] | [standalone]
| From | Jan Kiszka <jan.kiszka@web.de> |
|---|---|
| Date | 2016-01-09 17:10 +0100 |
| Subject | Re: [PATCH 1/2] scripts/gdb: Add version command |
| Message-ID | <qP4fw-7W6-17@gated-at.bofh.it> |
| In reply to | #1303571 |
[Multipart message — attachments visible in raw view] — view raw
On 2016-01-07 13:52, Kieran Bingham wrote:
> lx-version Report the Linux Version of the current kernel.
>
> Add a command to identify the version specified by the banner in the
> debugged kernel.
>
> This lets the user identify the kernel of the running kernel, and will
> let later scripts compare the banner of the attached kernel against the
> banner in the vmlinux symbols files to verify that the files are correct.
>
> Signed-off-by: Kieran Bingham <kieran.bingham@linaro.org>
> ---
> scripts/gdb/linux/proc.py | 27 +++++++++++++++++++++++++++
> scripts/gdb/vmlinux-gdb.py | 1 +
> 2 files changed, 28 insertions(+)
> create mode 100644 scripts/gdb/linux/proc.py
>
> diff --git a/scripts/gdb/linux/proc.py b/scripts/gdb/linux/proc.py
> new file mode 100644
> index 000000000000..7a2afe60416a
> --- /dev/null
> +++ b/scripts/gdb/linux/proc.py
> @@ -0,0 +1,27 @@
> +#
> +# gdb helper commands and functions for Linux kernel debugging
> +#
> +# Kernel proc information reader
> +#
> +# Copyright (c) 2016 Linaro Ltd
> +#
> +# Authors:
> +# Kieran Bingham <kieran.bingham@linaro.org>
> +#
> +# This work is licensed under the terms of the GNU GPL version 2.
> +#
> +
> +import gdb
> +
pep8 says:
scripts/gdb/linux/proc.py:16:1: E302 expected 2 blank lines, found 1
> +class LxVersion(gdb.Command):
> + """ Report the Linux Version of the current kernel.
> + Equivalent to cat /proc/version on a running target
> + """
Minor thing, but for the sake of consistency: Moving the """ into a new
line gives an additional empty line at the end of the help output. Other
commands, also gdb built-ins, don't do this.
> + def __init__(self):
> + super(LxVersion, self).__init__("lx-version", gdb.COMMAND_DATA)
> +
> + def invoke(self, arg, from_tty):
> + # linux_banner should contain a newline
> + gdb.write(gdb.parse_and_eval("linux_banner").string())
> +
> +LxVersion()
> diff --git a/scripts/gdb/vmlinux-gdb.py b/scripts/gdb/vmlinux-gdb.py
> index ce82bf5c3943..d5943eca19cd 100644
> --- a/scripts/gdb/vmlinux-gdb.py
> +++ b/scripts/gdb/vmlinux-gdb.py
> @@ -29,3 +29,4 @@ else:
> import linux.tasks
> import linux.cpus
> import linux.lists
> + import linux.proc
>
Two options: I can adjust these (and the corresponding issues in patch
2) myself before sending out a merge request to Andrew. Or, if you have
more in your queue, I'll wait for a potential longer v2 round. Just let
me know.
Thanks,
Jan
[toc] | [prev] | [next] | [standalone]
| From | Kieran Bingham <kieran.bingham@linaro.org> |
|---|---|
| Date | 2016-01-09 17:30 +0100 |
| Subject | Re: [PATCH 1/2] scripts/gdb: Add version command |
| Message-ID | <qP4yV-83p-53@gated-at.bofh.it> |
| In reply to | #1305251 |
Hi Jan
On 09/01/16 16:02, Jan Kiszka wrote:
> On 2016-01-07 13:52, Kieran Bingham wrote:
>> lx-version Report the Linux Version of the current kernel.
>>
>> Add a command to identify the version specified by the banner in the
>> debugged kernel.
>>
>> This lets the user identify the kernel of the running kernel, and will
>> let later scripts compare the banner of the attached kernel against the
>> banner in the vmlinux symbols files to verify that the files are correct.
>>
>> Signed-off-by: Kieran Bingham <kieran.bingham@linaro.org>
>> ---
>> scripts/gdb/linux/proc.py | 27 +++++++++++++++++++++++++++
>> scripts/gdb/vmlinux-gdb.py | 1 +
>> 2 files changed, 28 insertions(+)
>> create mode 100644 scripts/gdb/linux/proc.py
>>
>> diff --git a/scripts/gdb/linux/proc.py b/scripts/gdb/linux/proc.py
>> new file mode 100644
>> index 000000000000..7a2afe60416a
>> --- /dev/null
>> +++ b/scripts/gdb/linux/proc.py
>> @@ -0,0 +1,27 @@
>> +#
>> +# gdb helper commands and functions for Linux kernel debugging
>> +#
>> +# Kernel proc information reader
>> +#
>> +# Copyright (c) 2016 Linaro Ltd
>> +#
>> +# Authors:
>> +# Kieran Bingham <kieran.bingham@linaro.org>
>> +#
>> +# This work is licensed under the terms of the GNU GPL version 2.
>> +#
>> +
>> +import gdb
>> +
> pep8 says:
>
> scripts/gdb/linux/proc.py:16:1: E302 expected 2 blank lines, found 1
My apologies - I should have run those checks before I sent the patches.
I've added it to my checklist, to make sure I do, for any more that I send.
>
>> +class LxVersion(gdb.Command):
>> + """ Report the Linux Version of the current kernel.
>> + Equivalent to cat /proc/version on a running target
>> + """
> Minor thing, but for the sake of consistency: Moving the """ into a new
> line gives an additional empty line at the end of the help output. Other
> commands, also gdb built-ins, don't do this.
And, I'll try to make sure I copy the style correctly for any follow-ups!
>
>> + def __init__(self):
>> + super(LxVersion, self).__init__("lx-version", gdb.COMMAND_DATA)
>> +
>> + def invoke(self, arg, from_tty):
>> + # linux_banner should contain a newline
>> + gdb.write(gdb.parse_and_eval("linux_banner").string())
>> +
>> +LxVersion()
>> diff --git a/scripts/gdb/vmlinux-gdb.py b/scripts/gdb/vmlinux-gdb.py
>> index ce82bf5c3943..d5943eca19cd 100644
>> --- a/scripts/gdb/vmlinux-gdb.py
>> +++ b/scripts/gdb/vmlinux-gdb.py
>> @@ -29,3 +29,4 @@ else:
>> import linux.tasks
>> import linux.cpus
>> import linux.lists
>> + import linux.proc
>>
> Two options: I can adjust these (and the corresponding issues in patch
> 2) myself before sending out a merge request to Andrew. Or, if you have
> more in your queue, I'll wait for a potential longer v2 round. Just let
> me know.
>
> Thanks,
> Jan
If you're happy to do the fix-ups that's fine by me.
These two are simple and standalone, so I don't see any point in holding
them back.
--
Regards
Kieran
[toc] | [prev] | [standalone]
Back to top | Article view | linux.kernel
csiph-web