More work on handling signals.

This commit is contained in:
Ernie Pasveer
2026-01-02 13:39:26 -06:00
parent f48a276563
commit b50b5976d9
15 changed files with 1440 additions and 85 deletions
+23 -23
View File
@@ -36,7 +36,29 @@ class MISignal(gdb.MICommand):
def invoke(self, argv):
if self._mode == "list-values":
if self._mode == "list-names":
signalnames = []
result = gdb.execute ("info signals", to_string=True)
lines = result.split("\n")
for line in lines:
if (line == ""):
continue
columns = re.search(r"^(\S+)\s+(\S+)\s+(\S+)\s+(\S+)\s+(.*)$", line)
if columns:
if (columns.group(1) == "Signal"):
continue
if (columns.group(1) == "Use"):
continue
signalnames.append(columns.group(1))
return { "signal-names": signalnames}
elif self._mode == "list-values":
command = ""
result = ""
@@ -72,28 +94,6 @@ class MISignal(gdb.MICommand):
return { "signal-values": signalentries}
elif self._mode == "list-names":
signalnames = []
result = gdb.execute ("info signals", to_string=True)
lines = result.split("\n")
for line in lines:
if (line == ""):
continue
columns = re.search(r"^(\S+)\s+(\S+)\s+(\S+)\s+(\S+)\s+(.*)$", line)
if columns:
if (columns.group(1) == "Signal"):
continue
if (columns.group(1) == "Use"):
continue
signalnames.append(columns.group(1))
return { "signal-names": signalnames}
elif self._mode == "stop":
gdb.execute ("handle " + " ".join(argv) + " stop", from_tty=True, to_string=True)