Linux kernel mirror (for testing) git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git
kernel os linux

scripts/gdb: provide exception catching parser

If we attempt to read a value that is not available to GDB, an exception
is raised. Most of the time, this is a good thing; however on occasion
we will want to be able to determine if a symbol is available.

By catching the exception to simply return None, we can determine if we
tried to read an invalid value, without the exception taking our
execution context away from us

Link: http://lkml.kernel.org/r/c72b25c06fc66e1d68371154097e2cbb112555d8.1462865983.git.jan.kiszka@siemens.com
Signed-off-by: Kieran Bingham <kieran.bingham@linaro.org>
Signed-off-by: Jan Kiszka <jan.kiszka@siemens.com>
Signed-off-by: Andrew Morton <akpm@linux-foundation.org>
Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>

authored by

Kieran Bingham and committed by
Linus Torvalds
e78f3d70 619ccaf3

+7
+7
scripts/gdb/linux/utils.py
··· 154 154 if gdbserver_type is not None and hasattr(gdb, 'events'): 155 155 gdb.events.exited.connect(exit_handler) 156 156 return gdbserver_type 157 + 158 + 159 + def gdb_eval_or_none(expresssion): 160 + try: 161 + return gdb.parse_and_eval(expresssion) 162 + except: 163 + return None