blob: 5e3cce24fe03f9d71def3c8e7f2c6431d1f60d3b (
plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
|
import gdb
from collections import Counter
gr = gdb.execute
pcs = Counter()
inf = gdb.selected_inferior()
for i in range(300):
try:
gr("stepi", to_string=True)
except Exception as e:
print("stepfail %s" % e); break
try:
pcs[int(gdb.parse_and_eval("$pc"))] += 1
except Exception:
break
print("HOTPCS")
top = pcs.most_common(4)
for pc, n in top:
print("PC 0x%x hits=%d" % (pc, n))
for pc, n in top[:1]:
try:
print(gr("x/10i 0x%x" % pc, to_string=True))
print(gr("info registers rax rbx rcx rdx rsi rdi rbp r8 r9 r10 r11 r12 r13 r14 r15", to_string=True))
except Exception as e:
print("fail %s" % e)
print("T83-DONE")
|