summary refs log tree commit diff stats
diff options
context:
space:
mode:
authorArne Döring <arne.doering@gmx.net>2019-03-26 13:12:39 +0100
committerAndreas Rumpf <rumpf_a@web.de>2019-03-26 13:12:39 +0100
commit04f901b63b82db654676af08c228b5c89e27042b (patch)
tree84fe721f6197946c06261cdde6f7a880c2957deb
parentbc29094af97d27be2d24f6219388f382a4f1db3d (diff)
downloadNim-04f901b63b82db654676af08c228b5c89e27042b.tar.gz
add NimFrameFilter to nim-gdb.py (#10873)
-rw-r--r--tools/nim-gdb.py16
1 files changed, 16 insertions, 0 deletions
diff --git a/tools/nim-gdb.py b/tools/nim-gdb.py
index b6481a99d..c1c2e0004 100644
--- a/tools/nim-gdb.py
+++ b/tools/nim-gdb.py
@@ -563,6 +563,20 @@ class NimTablePrinter:
 
 ################################################################################
 
+class NimFrameFilter:
+  def __init__(self):
+    self.name = "nim-frame-filter"
+    self.enabled = True
+    self.priority = 100
+    self.hidden =  {"NimMainInner","NimMain", "main"}
+
+  def filter(self, iterator):
+    for framedecorator in iterator:
+      if framedecorator.function() not in self.hidden:
+        yield framedecorator
+
+################################################################################
+
 def makematcher(klass):
   def matcher(val):
     typeName = str(val.type)
@@ -593,3 +607,5 @@ def new_object_handler(event):
   register_nim_pretty_printers_for_object(event.new_objfile)
 
 gdb.events.new_objfile.connect(new_object_handler)
+
+gdb.frame_filters = {"nim-frame-filter": NimFrameFilter()}