isource_lldb 0.1.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (4) hide show
  1. checksums.yaml +7 -0
  2. data/lib/rubygems_plugin.rb +44 -0
  3. data/lib/setup.i +295 -0
  4. metadata +45 -0
@@ -0,0 +1,7 @@
1
+ ---
2
+ SHA256:
3
+ metadata.gz: 91588e08ebef26200f1ae981deadafa8bd5823b53c1bbef3c47651c9fae88d16
4
+ data.tar.gz: 999e74c5efa57d410d97d72c4b8a790f73d072abd104f926144125b75057fa87
5
+ SHA512:
6
+ metadata.gz: 37cf8bbe14bee4216eeee88866b301bb8dd788bd17bebc9d34bee0ab09f5feb11b65d00712f75868b0296f518eba798bb7679c7b2f38561f629145b0ecaeca58
7
+ data.tar.gz: 5e787a8130bd72b5dc7fe8145a39392ce30c3d476db68952d0965f648e9b02a0dac8720ea832ca04ceb8bd3b157bc353aad40526ac6b2134150223108b73a8ca
@@ -0,0 +1,44 @@
1
+
2
+ require 'pathname'
3
+
4
+ Lldb_init_path = File.expand_path('~')+'/.lldbinit'
5
+ Lldb_source_path = File.expand_path('~')+'/.isource_lldb'
6
+ Lldb_file_path = File.expand_path('~')+'/.isource_lldb/isource_lldb.py'
7
+ Commond_str = 'command script import '+Lldb_file_path
8
+
9
+ Gem.post_install do
10
+
11
+ # 配置 .lldbinit
12
+ if File.exist?(Lldb_init_path)
13
+ f=File.new(Lldb_init_path,"a+")
14
+ data = f.readlines
15
+ isExist = false
16
+ data.each do |d|
17
+ if d.chomp.include?Commond_str
18
+ isExist = true
19
+ end
20
+ end
21
+ if isExist == false
22
+ f.puts ''
23
+ f.puts Commond_str
24
+ f.close
25
+ end
26
+ else
27
+ f=File.new(Lldb_init_path,"w+")
28
+ f.puts ''
29
+ f.puts Commond_str
30
+ f.close
31
+ end
32
+ File.chmod(0664,Lldb_init_path)
33
+
34
+ # 配置执行脚本
35
+ if !File.exist?(Lldb_source_path)
36
+ Dir.mkdir(Lldb_source_path)
37
+ end
38
+ File.chmod(0775,Lldb_source_path)
39
+ scriptPath = File.dirname(Pathname.new(__FILE__).realpath)
40
+ File.rename scriptPath+'/setup.i', Lldb_file_path
41
+ File.chmod(0775,Lldb_file_path)
42
+
43
+ puts "Please use the isource command in your Xcode LLDB."
44
+ end
@@ -0,0 +1,295 @@
1
+ # !/usr/bin/env python3
2
+ import lldb #line:5
3
+ import os #line:6
4
+ import re #line:7
5
+ import time #line:8
6
+ import datetime #line:9
7
+ import queue #line:10
8
+ import shutil #line:11
9
+ import threading #line:12
10
+ import sys #line:13
11
+ from threading import Thread #line:14
12
+ user_dir =os .path .expanduser ('~')#line:16
13
+ source_lldb_dir =user_dir +"/.isource_lldb"#line:17
14
+ source_code_dir =source_lldb_dir +"/source_code"#line:18
15
+ drrr_job_inis_dir =source_lldb_dir +"/drrr_job_inis"#line:19
16
+ drrr_job_inis_dir_modules =drrr_job_inis_dir +"/modules"#line:20
17
+ drrr_job_inis_addr ='ssh://git@gitlab.qiyi.domain:10022/qytools/drrr_job_inis.git'#line:21
18
+ project_info_cache =source_lldb_dir +"/project_info_cache.txt"#line:22
19
+ def lz_error (OOOO000000OO000OO ):#line:24
20
+ print ("internal error code : "+str (OOOO000000OO000OO ))#line:25
21
+ def lz_log (O0OO00OO000O00000 ):#line:27
22
+ pass #line:30
23
+ def manage_source_dir ():#line:33
24
+ OOOOOO0OO0OO0O000 =os .path .exists (source_lldb_dir )#line:34
25
+ if not OOOOOO0OO0OO0O000 :#line:35
26
+ os .makedirs (source_lldb_dir )#line:36
27
+ os .makedirs (source_code_dir )#line:37
28
+ else :#line:38
29
+ O0OO00OOOOOO000O0 =os .path .exists (source_code_dir )#line:39
30
+ if not O0OO00OOOOOO000O0 :#line:40
31
+ os .makedirs (source_code_dir )#line:41
32
+ def create_cache_file ():#line:44
33
+ O00O00OO0O0OOOO00 =os .path .exists (project_info_cache )#line:45
34
+ if not O00O00OO0O0OOOO00 :#line:46
35
+ O00OO0O00OOO0O0O0 =open (project_info_cache ,'w')#line:47
36
+ O00OO0O00OOO0O0O0 .close ()#line:48
37
+ def write_cache_file (O0O00OOOO0O0OO0OO ):#line:50
38
+ if O0O00OOOO0O0OO0OO [0 ]!=None and O0O00OOOO0O0OO0OO [1 ]!=None and O0O00OOOO0O0OO0OO [2 ]!=None and O0O00OOOO0O0OO0OO [3 ]!=None :#line:51
39
+ O000OO000O0OOOO0O =list (O0O00OOOO0O0OO0OO )#line:52
40
+ OOOOO00O0O00OO0O0 ='---'.join (O000OO000O0OOOO0O )#line:53
41
+ OO0O0O0O00OOOOOOO =open (project_info_cache ,'a+')#line:54
42
+ OO0O0O0O00OOOOOOO .write (OOOOO00O0O00OO0O0 +"\n")#line:55
43
+ OO0O0O0O00OOOOOOO .close ()#line:56
44
+ def read_cache_file (O0O0OO00O000O0O0O ):#line:58
45
+ O0O0O0OOOO0OOOOOO =None #line:59
46
+ with open (project_info_cache ,'r',encoding ='utf-8')as OOO0OO00OO00OOO00 :#line:60
47
+ O0OOO0OO0OO0O000O =OOO0OO00OO00OOO00 .readlines ()#line:61
48
+ for O00000O0O0OOO0OO0 in range (0 ,len (O0OOO0OO0OO0O000O )):#line:62
49
+ OO0000000O00O0O00 =re .search (O0O0OO00O000O0O0O ,O0OOO0OO0OO0O000O [O00000O0O0OOO0OO0 ])#line:63
50
+ if OO0000000O00O0O00 !=None :#line:64
51
+ OO0O0OO0OO0000O0O =O0OOO0OO0OO0O000O [O00000O0O0OOO0OO0 ]#line:65
52
+ OOOO00OOO00O0OO00 =OO0O0OO0OO0000O0O .split ('---')#line:66
53
+ O0O0O0OOOO0OOOOOO =tuple (OOOO00OOO00O0OO00 )#line:67
54
+ break #line:68
55
+ return O0O0O0OOOO0OOOOOO #line:69
56
+ def manage_job_inis ():#line:72
57
+ O0OOOO00OOOOO00O0 =os .path .exists (drrr_job_inis_dir )#line:73
58
+ if O0OOOO00OOOOO00O0 ==True :#line:74
59
+ OO0OOO000000OOO0O ="cd "+drrr_job_inis_dir +"; git pull"#line:75
60
+ O0000OOOOO0O0000O =os .popen (OO0OOO000000OOO0O )#line:76
61
+ OOO000OO00000OO0O =O0000OOOOO0O0000O .read ()#line:77
62
+ OOO00000O0O0O0OO0 =re .search ("fatal",OOO000OO00000OO0O )#line:78
63
+ if OOO00000O0O0O0OO0 !=None :#line:79
64
+ lz_error (0 )#line:80
65
+ else :#line:81
66
+ O000O00O0000OO00O ="git clone "+drrr_job_inis_addr +" "+drrr_job_inis_dir #line:82
67
+ O0000OOOOO0O0000O =os .popen (O000O00O0000OO00O )#line:83
68
+ OOO000OO00000OO0O =O0000OOOOO0O0000O .read ()#line:84
69
+ OOO00000O0O0O0OO0 =re .search ("fatal",OOO000OO00000OO0O )#line:85
70
+ if OOO00000O0O0O0OO0 !=None :#line:86
71
+ lz_error (0 )#line:87
72
+ def get_debug_file_path (O000O00OO0O0OO000 ):#line:90
73
+ OO000O00O000O0000 =lldb .debugger .GetCommandInterpreter ()#line:91
74
+ O0O0O00000O0OO00O =lldb .SBCommandReturnObject ()#line:92
75
+ OO000O00O000O0000 .HandleCommand ('image lookup -v --address '+O000O00OO0O0OO000 ,O0O0O00000O0OO00O )#line:93
76
+ O000OOOOO0O000000 =O0O0O00000O0OO00O .GetOutput ()#line:94
77
+ O00O00O000O000OOO =""#line:96
78
+ O0OO000O0OO0O00OO =re .search ('error',O000OOOOO0O000000 )#line:97
79
+ if O0OO000O0OO0O00OO !=None :#line:98
80
+ return O00O00O000O000OOO #line:99
81
+ OOO0OO0OO0OO0OO0O =O000OOOOO0O000000 .split ("\n")#line:102
82
+ if len (OOO0OO0OO0OO0OO0O )>3 :#line:103
83
+ OOO0OOO0OOO0O0O0O =OOO0OO0OO0OO0OO0O [3 ].strip ()#line:104
84
+ O0OO0OOO0000OOO00 =OOO0OOO0OOO0O0O0O .split (",")#line:106
85
+ if len (O0OO0OOO0000OOO00 )>1 :#line:107
86
+ OO00OO000O0000O0O =O0OO0OOO0000OOO00 [1 ].strip ()#line:108
87
+ OO000000OO0O0O0O0 =OO00OO000O0000O0O .split ("=")#line:110
88
+ if len (OO000000OO0O0O0O0 )>1 :#line:111
89
+ OOO000OO00OOO0000 =OO000000OO0O0O0O0 [1 ].strip ()#line:112
90
+ O00O00O000O000OOO =OOO000OO00OOO0000 .replace ('\"','')#line:114
91
+ return O00O00O000O000OOO #line:116
92
+ def get_inis_info (O0OO00OO0O0O0000O ):#line:119
93
+ O0O0OO000O00000O0 =None #line:121
94
+ O0O0O00OOOO0OO00O =None #line:122
95
+ OO0O0OOOOOOO0OOO0 =None #line:123
96
+ O0OO0O0OO000O0000 =None #line:124
97
+ OOOO0O00OOOOO000O =O0OO00OO0O0O0000O .split ("/")#line:127
98
+ for O0OO0OOO000O0000O in range (0 ,len (OOOO0O00OOOOO000O )):#line:128
99
+ if OOOO0O00OOOOO000O [O0OO0OOO000O0000O ]=="module_files":#line:129
100
+ O0O0O00OOOO0OO00O =OOOO0O00OOOOO000O [O0OO0OOO000O0000O ]+"/"+OOOO0O00OOOOO000O [O0OO0OOO000O0000O +1 ]+"/"+OOOO0O00OOOOO000O [O0OO0OOO000O0000O +2 ]#line:130
101
+ O0O0OO000O00000O0 =OOOO0O00OOOOO000O [O0OO0OOO000O0000O +1 ]#line:131
102
+ break #line:132
103
+ if O0O0O00OOOO0OO00O !=None and len (O0O0O00OOOO0OO00O )>0 :#line:139
104
+ OOOO000O00OOO0000 =os .listdir (drrr_job_inis_dir_modules )#line:140
105
+ for O0OO0OOO000O0000O in range (0 ,len (OOOO000O00OOO0000 )):#line:141
106
+ O00OO00O0O0OO0OOO =drrr_job_inis_dir_modules +"/"+OOOO000O00OOO0000 [O0OO0OOO000O0000O ]#line:142
107
+ with open (O00OO00O0O0OO0OOO ,'r',encoding ='utf-8')as O000O00OO0000O0OO :#line:144
108
+ OOOO0OO00OOO000OO =O000O00OO0000O0OO .readlines ()#line:145
109
+ for O0OO0OOO000O0000O in range (0 ,len (OOOO0OO00OOO000OO )):#line:146
110
+ O000O000OO0O00O00 =re .search (O0O0O00OOOO0OO00O ,OOOO0OO00OOO000OO [O0OO0OOO000O0000O ])#line:147
111
+ if O000O000OO0O00O00 !=None :#line:148
112
+ OO0O0OOOOOOO0OOO0 =OOOO000O00OOO0000 [O0OO0OOO000O0000O ]#line:149
113
+ O0000000O0000000O =O0OO0OOO000O0000O -5 if O0OO0OOO000O0000O >5 else 0 #line:150
114
+ O00OOO000O0000O00 =O0OO0OOO000O0000O +5 if O0OO0OOO000O0000O +5 <len (OOOO0OO00OOO000OO )else len (OOOO0OO00OOO000OO )#line:151
115
+ for OOOOOO0000O00OOOO in range (O0000000O0000000O ,O00OOO000O0000O00 ):#line:152
116
+ O00000OO0O0O0O0OO =re .findall ("ssh://git@gitlab.qiyi.domain:[^/]+?/.*?"+O0O0OO000O00000O0 +"*?[^0~9]?.git",OOOO0OO00OOO000OO [OOOOOO0000O00OOOO ])#line:153
117
+ if len (O00000OO0O0O0O0OO )>0 :#line:154
118
+ O0OO0O0OO000O0000 =O00000OO0O0O0O0OO [0 ]#line:155
119
+ break #line:156
120
+ if O0OO0O0OO000O0000 !=None :#line:157
121
+ break #line:158
122
+ if O0OO0O0OO000O0000 !=None :#line:159
123
+ break #line:160
124
+ return (O0O0OO000O00000O0 ,OO0O0OOOOOOO0OOO0 ,O0O0O00OOOO0OO00O ,O0OO0O0OO000O0000 )#line:179
125
+ def download_git_source_code (OO00OO0OOO0O000O0 ,O00O0O00O00000OO0 ):#line:183
126
+ O00OOOO0OO0OOOO00 =source_code_dir +"/"+OO00OO0OOO0O000O0 #line:184
127
+ OOOO0OO00O0O0OOO0 =os .path .exists (O00OOOO0OO0OOOO00 )#line:185
128
+ if not OOOO0OO00O0O0OOO0 :#line:187
129
+ os .makedirs (O00OOOO0OO0OOOO00 )#line:188
130
+ OOOOO00O00OO00O00 ="git clone "+O00O0O00O00000OO0 +" "+O00OOOO0OO0OOOO00 #line:189
131
+ OOO0O0OO000O0000O =os .popen (OOOOO00O00OO00O00 )#line:190
132
+ OO00000O00O00OO00 =OOO0O0OO000O0000O .read ()#line:191
133
+ O00O00OO00000O00O =re .search ("fatal",OO00000O00O00OO00 )#line:192
134
+ if O00O00OO00000O00O !=None :#line:193
135
+ return ""#line:194
136
+ else :#line:195
137
+ OO00000O00OO00OOO ="cd "+O00OOOO0OO0OOOO00 +"; git pull"#line:196
138
+ OOO0O0OO000O0000O =os .popen (OO00000O00OO00OOO )#line:197
139
+ OO00000O00O00OO00 =OOO0O0OO000O0000O .read ()#line:198
140
+ O00O00OO00000O00O =re .search ("fatal",OO00000O00O00OO00 )#line:199
141
+ if O00O00OO00000O00O !=None :#line:200
142
+ return ""#line:201
143
+ return O00OOOO0OO0OOOO00 #line:203
144
+ def get_update_time ():#line:206
145
+ O0O00OO00O0OO0O00 =user_dir +"/.cocoapods/repos/qiyi-podspecs/"#line:208
146
+ O00OOO0OO0000OOO0 =os .path .getmtime (O0O00OO00O0OO0O00 )#line:209
147
+ O0OO0O0O000000O0O =time .localtime (O00OOO0OO0000OOO0 )#line:210
148
+ O00000OO00OO0OO0O =time .strftime ("%m %d %H:%M:%S %Y",O0OO0O0O000000O0O )#line:213
149
+ OOO000000OO000O00 =O00000OO00OO0OO0O .split (" ")#line:214
150
+ OOOOOOO0OOO0O0OO0 =OOO000000OO000O00 [0 ]#line:215
151
+ if OOOOOOO0OOO0O0OO0 =='1':#line:217
152
+ OOOOOOO0OOO0O0OO0 ='Jan'#line:218
153
+ if OOOOOOO0OOO0O0OO0 =='2':#line:219
154
+ OOOOOOO0OOO0O0OO0 ='Feb'#line:220
155
+ if OOOOOOO0OOO0O0OO0 =='3':#line:221
156
+ OOOOOOO0OOO0O0OO0 ='Mar'#line:222
157
+ if OOOOOOO0OOO0O0OO0 =='4':#line:223
158
+ OOOOOOO0OOO0O0OO0 ='Apr'#line:224
159
+ if OOOOOOO0OOO0O0OO0 =='5':#line:225
160
+ OOOOOOO0OOO0O0OO0 ='May'#line:226
161
+ if OOOOOOO0OOO0O0OO0 =='6':#line:227
162
+ OOOOOOO0OOO0O0OO0 ='Jun'#line:228
163
+ if OOOOOOO0OOO0O0OO0 =='7':#line:229
164
+ OOOOOOO0OOO0O0OO0 ='Jul'#line:230
165
+ if OOOOOOO0OOO0O0OO0 =='8':#line:231
166
+ OOOOOOO0OOO0O0OO0 ='Aug'#line:232
167
+ if OOOOOOO0OOO0O0OO0 =='9':#line:233
168
+ OOOOOOO0OOO0O0OO0 ='Sep'#line:234
169
+ if OOOOOOO0OOO0O0OO0 =='10':#line:235
170
+ OOOOOOO0OOO0O0OO0 ='Oct'#line:236
171
+ if OOOOOOO0OOO0O0OO0 =='11':#line:237
172
+ OOOOOOO0OOO0O0OO0 ='Nov'#line:238
173
+ if OOOOOOO0OOO0O0OO0 =='12':#line:239
174
+ OOOOOOO0OOO0O0OO0 ='Dec'#line:240
175
+ OOO000000OO000O00 [0 ]=OOOOOOO0OOO0O0OO0 #line:242
176
+ return ' '.join (OOO000000OO000O00 )#line:244
177
+ def change_source_code_commit (O0000O00OO0O0O000 ):#line:247
178
+ O00OOO0OOOO0OOOOO =get_update_time ()#line:250
179
+ OO0O0OO00OOOO0OO0 ="cd "+O0000O00OO0O0O000 +"; git rev-list -n 1 --before=\""+O00OOO0OOOO0OOOOO +"\" master"#line:252
180
+ OO00O0O0OO0O0OO0O =os .popen (OO0O0OO00OOOO0OO0 )#line:253
181
+ O00O0O0O000OO0O0O =OO00O0O0OO0O0OO0O .read ()#line:254
182
+ OOOOO0OOO00OOO0O0 =re .search ("fatal",O00O0O0O000OO0O0O )#line:255
183
+ if OOOOO0OOO00OOO0O0 !=None :#line:256
184
+ return False #line:257
185
+ else :#line:258
186
+ return True #line:259
187
+ def checkError (OOOO000O00OOO00O0 ,OO0O00OOO0OOO0000 ):#line:261
188
+ O00OO0O0OO00OOO0O =re .search (OO0O00OOO0OOO0000 ,OOOO000O00OOO00O0 )#line:262
189
+ if O00OO0O0OO00OOO0O ==None :#line:263
190
+ return True #line:264
191
+ else :#line:265
192
+ return False #line:266
193
+ def map_source_code (O0OO00OO00O0OOOO0 ,O0O0O0OOOOOOO0O00 ,O0000O000OO0O00OO ):#line:269
194
+ O0000OOOO0OOO0000 =O0O0O0OOOOOOO0O00 .split (O0000O000OO0O00OO )#line:270
195
+ OO000OO00O000O0O0 =O0000OOOO0OOO0000 [0 ]+O0000O000OO0O00OO #line:271
196
+ O0OO000000OOOO00O =lldb .debugger .GetCommandInterpreter ()#line:272
197
+ O00000OO0OO0OO0O0 =lldb .SBCommandReturnObject ()#line:273
198
+ O0OO000000OOOO00O .HandleCommand ("settings append target.source-map "+OO000OO00O000O0O0 +" "+O0OO00OO00O0OOOO0 ,O00000OO0OO0OO0O0 )#line:274
199
+ O0OOO000O0O0000OO =O00000OO0OO0OO0O0 .GetOutput ()#line:275
200
+ OOOO0O00OO00OOOOO =re .search ('error',O0OOO000O0O0000OO )#line:276
201
+ if OOOO0O00OO00OOOOO ==None :#line:277
202
+ return True #line:278
203
+ else :#line:279
204
+ return False #line:280
205
+ def thread_step_inst (OO000OOOO0O0OO000 ):#line:283
206
+ pass #line:284
207
+ def adjustStackFrame (OOO00OOOOO000000O ):#line:287
208
+ OOO00OOOOO000000O .SetAsync (True )#line:298
209
+ O00O00OOO000O0O00 =OOO00OOOOO000000O .GetSelectedTarget ().GetProcess ().GetSelectedThread ()#line:303
210
+ O0O000OOOO000OO00 =O00O00OOO000O0O00 .GetSelectedFrame ().GetFrameID ()#line:304
211
+ OO000000OO0O00000 =lldb .debugger .GetCommandInterpreter ()#line:306
212
+ O0O00OO00OOO0O0O0 =lldb .SBCommandReturnObject ()#line:307
213
+ OO000000OO0O00000 .HandleCommand ("thread step-inst",O0O00OO00OOO0O0O0 )#line:311
214
+ O00OOOOO000OOOOOO =O0O00OO00OOO0O0O0 .GetOutput ()#line:312
215
+ OOOO0O0OO0O00000O =re .search ('error',O00OOOOO000OOOOOO )#line:313
216
+ if OOOO0O0OO0O00000O !=None :#line:314
217
+ return False #line:315
218
+ time .sleep (0.5 )#line:317
219
+ OO000000OO0O00000 .HandleCommand ("frame select "+str (O0O000OOOO000OO00 ),O0O00OO00OOO0O0O0 )#line:326
220
+ O00OOOOO000OOOOOO =O0O00OO00OOO0O0O0 .GetOutput ()#line:327
221
+ OOOO0O0OO0O00000O =re .search ('error',O00OOOOO000OOOOOO )#line:328
222
+ if OOOO0O0OO0O00000O !=None :#line:330
223
+ return False #line:331
224
+ def clean (OO0OOO0000O00O0O0 ):#line:333
225
+ OOO000000O00OOOO0 =os .listdir (OO0OOO0000O00O0O0 )#line:334
226
+ for OOOO0OO0O000O00O0 in OOO000000O00OOOO0 :#line:335
227
+ OO0O0OO00OO0000OO =os .path .join (OO0OOO0000O00O0O0 ,OOOO0OO0O000O00O0 )#line:336
228
+ if os .path .isfile (OO0O0OO00OO0000OO ):#line:337
229
+ os .remove (OO0O0OO00OO0000OO )#line:338
230
+ elif os .path .isdir (OO0O0OO00OO0000OO ):#line:339
231
+ shutil .rmtree (OO0O0OO00OO0000OO )#line:340
232
+ pass #line:341
233
+ def processing (O0O00O00O000O0O00 ):#line:351
234
+ sys .stdout .write (O0O00O00O000O0O00 )#line:352
235
+ sys .stdout .flush ()#line:353
236
+ def start (O0OOO000O00OOO00O ,OOO00O0O00OOOO00O ):#line:355
237
+ processing ("processing")#line:357
238
+ processing (".")#line:360
239
+ lz_log (1 )#line:362
240
+ O0OOOOO00O00OOOO0 =get_debug_file_path (OOO00O0O00OOOO00O )#line:363
241
+ if O0OOOOO00O00OOOO0 ==None or len (O0OOOOO00O00OOOO0 )==0 :#line:364
242
+ lz_error (1 )#line:365
243
+ return #line:366
244
+ processing (".")#line:370
245
+ lz_log (2 )#line:371
246
+ O0O0000OO0OO0OO00 =get_inis_info (O0OOOOO00O00OOOO0 )#line:372
247
+ if O0O0000OO0OO0OO00 [0 ]==None or O0O0000OO0OO0OO00 [1 ]==None and O0O0000OO0OO0OO00 [2 ]==None or O0O0000OO0OO0OO00 [3 ]==None :#line:373
248
+ lz_error (2 )#line:374
249
+ return #line:375
250
+ processing (".")#line:378
251
+ lz_log (3 )#line:379
252
+ OOO00O0OO00O00000 =download_git_source_code (O0O0000OO0OO0OO00 [0 ],O0O0000OO0OO0OO00 [3 ])#line:380
253
+ if OOO00O0OO00O00000 ==None or len (OOO00O0OO00O00000 )==0 :#line:381
254
+ lz_error (3 )#line:382
255
+ return #line:383
256
+ processing (".")#line:386
257
+ lz_log (4 )#line:387
258
+ O0OO0O0O000O0O000 =change_source_code_commit (OOO00O0OO00O00000 )#line:388
259
+ if O0OO0O0O000O0O000 ==False :#line:389
260
+ lz_error (4 )#line:390
261
+ return #line:391
262
+ processing (".")#line:394
263
+ lz_log (5 )#line:395
264
+ O0OO0O0O000O0O000 =map_source_code (OOO00O0OO00O00000 ,O0OOOOO00O00OOOO0 ,O0O0000OO0OO0OO00 [2 ])#line:396
265
+ if O0OO0O0O000O0O000 ==False :#line:397
266
+ lz_error (5 )#line:398
267
+ return #line:399
268
+ print (".")#line:402
269
+ lz_log (6 )#line:403
270
+ O0OO0O0O000O0O000 =adjustStackFrame (O0OOO000O00OOO00O )#line:404
271
+ if O0OO0O0O000O0O000 ==False :#line:405
272
+ lz_error (6 )#line:406
273
+ return #line:407
274
+ def help ():#line:410
275
+ print ("Usage:")#line:412
276
+ print (" isource memory_address eg:isource 0x8badf00d")#line:413
277
+ print ("Commands:")#line:415
278
+ print (" + help command help")#line:416
279
+ print (" + clean clean cache")#line:417
280
+ pass #line:418
281
+ def helloworld (OO0OOOO0O00O000O0 ,O00OO00O0O000O0OO ,OOOO0OOO0O00O0O0O ,OOOO0OO0OO000OOOO ):#line:421
282
+ if O00OO00O0O000O0OO ==None or O00OO00O0O000O0OO =='-h':#line:423
283
+ help ()#line:424
284
+ elif O00OO00O0O000O0OO =='-c':#line:425
285
+ clean (source_code_dir )#line:426
286
+ elif re .match ('0x.*[a-z0-9]',O00OO00O0O000O0OO )!=None :#line:427
287
+ start (OO0OOOO0O00O000O0 ,O00OO00O0O000O0OO )#line:428
288
+ else :#line:429
289
+ print ('error: '+O00OO00O0O000O0OO +' is not a valid command.')#line:430
290
+ help ()#line:431
291
+ def __lldb_init_module (O0OO00OO0OO0O0O00 ,O0000O0000OO00O0O ):#line:434
292
+ manage_source_dir ()#line:436
293
+ manage_job_inis ()#line:440
294
+ O0OO00OO0OO0O0O00 .HandleCommand ("command script add -f isource_lldb.helloworld isource")#line:442
295
+
metadata ADDED
@@ -0,0 +1,45 @@
1
+ --- !ruby/object:Gem::Specification
2
+ name: isource_lldb
3
+ version: !ruby/object:Gem::Version
4
+ version: 0.1.0
5
+ platform: ruby
6
+ authors:
7
+ - ningyuan
8
+ autorequire:
9
+ bindir: bin
10
+ cert_chain: []
11
+ date: 2020-12-04 00:00:00.000000000 Z
12
+ dependencies: []
13
+ description: An plugin of LLDB.
14
+ email:
15
+ - m13811217138@gmail.com
16
+ executables: []
17
+ extensions: []
18
+ extra_rdoc_files: []
19
+ files:
20
+ - lib/rubygems_plugin.rb
21
+ - lib/setup.i
22
+ homepage: https://github.com/Jeremi-LZ/isource_lldb
23
+ licenses:
24
+ - MIT
25
+ metadata: {}
26
+ post_install_message:
27
+ rdoc_options: []
28
+ require_paths:
29
+ - lib
30
+ required_ruby_version: !ruby/object:Gem::Requirement
31
+ requirements:
32
+ - - ">="
33
+ - !ruby/object:Gem::Version
34
+ version: 2.3.0
35
+ required_rubygems_version: !ruby/object:Gem::Requirement
36
+ requirements:
37
+ - - ">="
38
+ - !ruby/object:Gem::Version
39
+ version: '0'
40
+ requirements: []
41
+ rubygems_version: 3.0.3
42
+ signing_key:
43
+ specification_version: 4
44
+ summary: An plugin of LLDB.
45
+ test_files: []