-
-
Notifications
You must be signed in to change notification settings - Fork 23
/
.gdbinit
155 lines (144 loc) · 2.83 KB
/
.gdbinit
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
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
#directory /usr/src/perl/perl-5.10.1/perl-5.10.1
#directory /usr/src/perl/perl-5.6.2
set breakpoint pending on
#break XS_B__CC__autovivification
break __asan_report_error
#break B.xs:1398
#break B.c:2044
#break B.xs:1858
#break oplist
#break Perl_do_openn
# require %INC
#break pp_ctl.c:3599
#run
#p/x sv_list[3299]
# panic free from wrong pool 5.12.5
#b util.c:243
define run10plc
run -Mblib -MByteLoader -Dtv bytecode10.plc
end
#set args -Dtv -Mblib -MByteLoader bytecode10.plc
# grep -Hn PL_no_modify *.c|perl -ne'/^([\w.]+:\d+)/ && print "break $1\n";'
#define break_no_modify
# break av.c:342
# break av.c:435
# break av.c:540
# break av.c:579
# break av.c:648
# break av.c:720
# break av.c:851
# break doop.c:640
# break doop.c:1025
# break doop.c:1111
# break mg.c:615
# break mg.c:2361
# break pp.c:161
# break pp.c:864
# break pp.c:881
# break pp.c:903
# break pp_hot.c:401
# break pp_hot.c:2098
# break pp_hot.c:2966
# break pp_sort.c:1569
# break pp_sys.c:1027
# break regcomp.c:4924
# break regcomp.c:5225
# break sv.c:3247
# break sv.c:3365
# break sv.c:3424
# break sv.c:4331
# break sv.c:4349
# break sv.c:4748
# break sv.c:6950
# break sv.c:7113
# break sv.c:8390
# break universal.c:1353
# break universal.c:1375
# break universal.c:1396
# break util.c:3430
# break util.c:3433
#end
# break Dynaloader.xs:190
# break byteloader_filter
# break perl_destruct
# break byterun.c:77
# break byterun.c:1128
# break Perl_av_extend
# break byterun
# break bl_getc
# break Perl_pp_match
# break Perl_pad_new
# stack dump, sp or PL_sp or my_perl->Istack_sp?
define sp_dump
if (my_perl && my_perl->broiled)
p/x **my_perl->Istack_sp
call Perl_sv_dump(my_perl, *my_perl->Istack_sp)
else
p/x **PL_sp
Perl_sv_dump(*PL_sp)
end
end
document sp_dump
=> Perl_sv_dump(PL_sp)
end
define op_dump
if (my_perl && my_perl->broiled)
p/x *my_perl->Iop
call Perl_op_dump(my_perl, my_perl->Iop)
else
p/x *PL_op
call Perl_op_dump(PL_op)
end
end
document op_dump
=> Perl_op_dump(PL_op)
see `odump op`
end
define sv_dump
p/x *sv
call Perl_sv_dump(sv)
end
document sv_dump
=> Perl_sv_dump(sv)
see `sdump sv`
end
define tsv_dump
p/x *sv
call Perl_sv_dump(my_perl, sv)
end
document tsv_dump
=> Perl_sv_dump(sv)
see `sdump sv`
end
define odump
p/x *$arg0
call Perl_op_dump($arg0)
end
document odump
odump op => p/x *op; Perl_op_dump(op)
see `help op_dump` for PL_op
end
define todump
p/x *$arg0
call Perl_op_dump(my_perl, $arg0)
end
document todump
todump op => p/x *op; Perl_op_dump(op)
see `help op_dump` for PL_op
end
define sdump
p/x *$arg0
call Perl_sv_dump($arg0)
end
document sdump
sdump sv => p/x *sv; Perl_sv_dump(sv)
see `help tsdump`
end
define tsdump
p/x *$arg0
call Perl_sv_dump(my_perl, $arg0)
end
document tsdump
tsdump sv => p/x *sv; Perl_sv_dump(my_perl, sv)
see `help sdump`
end