Skip to content

Commit

Permalink
i
Browse files Browse the repository at this point in the history
  • Loading branch information
thomaxxl committed Apr 24, 2016
1 parent 1740855 commit 7633fa9
Showing 1 changed file with 20 additions and 12 deletions.
32 changes: 20 additions & 12 deletions index.html
Original file line number Diff line number Diff line change
Expand Up @@ -96,7 +96,7 @@ <h2>Tracing</h2>


{% highlight python linenos=table %}
class KxrBreakpoint(gdb.Breakpoint):
class STBreakpoint(gdb.Breakpoint):

bplist = set()
todelete = []
Expand All @@ -106,36 +106,44 @@ <h2>Tracing</h2>
def __init__(self, func_name, parent=None):

self.func_name = func_name
# node = self.node = self.graph.add_node(func_name)
# if not node in self.graph.nodes: self.graph.load_node(self.node)
self.parent = parent
KxrBreakpoint.bplist.add(func_name)
super(KxrBreakpoint, self).__init__(
STBreakpoint.bplist.add(func_name)
#print('ini %s'%str(func_name))
super(STBreakpoint, self).__init__(
func_name, gdb.BP_BREAKPOINT, internal=False
)

def _stop(self):
comm = get_current()['comm'].string()
if not comm.startswith('trinity'):
return
print(self.func_name)

def stop(self):
comm = get_current()['comm'].string()
if not comm.startswith('trinity'):
return

if self.parent:
KxrBreakpoint.graph.add_edge(self.parent,self.func_name)
STBreakpoint.graph.add_edge(self.parent,self.func_name)
else:
get_bt_start()

for bp in KxrBreakpoint.todelete:

for bp in STBreakpoint.todelete:
try:
if bp.func_name != self.func_name:
bp.delete()
except:
pass


#callees = [ c.name for c in self.node.get_callees()]

for callee in get_callees(self.func_name):
self.edges += [(self.func_name,callee)]
if callee not in KxrBreakpoint.bplist:
KxrBreakpoint(callee,self.func_name)
if callee not in STBreakpoint.bplist:
STBreakpoint(callee,self.func_name)

KxrBreakpoint.todelete += [self]
STBreakpoint.todelete += [self]

{% endhighlight %}

Expand Down

0 comments on commit 7633fa9

Please sign in to comment.