@@ -66,6 +66,14 @@ static void errnoAndExit(const char *message) {
66
66
abort ();
67
67
}
68
68
69
+ #if 0
70
+ #include <inttypes.h>
71
+ #define DEBUG_LOG (fmt , ...) fprintf(stderr, "%s: " fmt "\n",\
72
+ __func__, __VA_ARGS__)
73
+ #else
74
+ #define DEBUG_LOG (fmt , ...) (void)0
75
+ #endif
76
+
69
77
static const size_t ReadEnd = 0 ;
70
78
static const size_t WriteEnd = 1 ;
71
79
@@ -143,6 +151,8 @@ const void *PipeMemoryReader_readBytes(void *Context, swift_addr_t Address,
143
151
const PipeMemoryReader * Reader = (const PipeMemoryReader * )Context ;
144
152
uintptr_t TargetAddress = Address ;
145
153
size_t TargetSize = (size_t )Size ;
154
+ DEBUG_LOG ("Requesting read of %zu bytes from 0x%" PRIxPTR ,
155
+ TargetSize , TargetAddress );
146
156
int WriteFD = PipeMemoryReader_getParentWriteFD (Reader );
147
157
write (WriteFD , REQUEST_READ_BYTES , 2 );
148
158
write (WriteFD , & TargetAddress , sizeof (TargetAddress ));
@@ -162,12 +172,14 @@ swift_addr_t PipeMemoryReader_getSymbolAddress(void *Context,
162
172
uint64_t Length ) {
163
173
const PipeMemoryReader * Reader = (const PipeMemoryReader * )Context ;
164
174
uintptr_t Address = 0 ;
175
+ DEBUG_LOG ("Requesting address of symbol %s" , SymbolName );
165
176
int WriteFD = PipeMemoryReader_getParentWriteFD (Reader );
166
177
write (WriteFD , REQUEST_SYMBOL_ADDRESS , 2 );
167
178
write (WriteFD , SymbolName , Length );
168
179
write (WriteFD , "\n" , 1 );
169
180
PipeMemoryReader_collectBytesFromPipe (Reader , (uint8_t * )& Address ,
170
181
sizeof (Address ));
182
+ DEBUG_LOG ("Address of %s is 0x%" PRIxPTR , SymbolName , Address );
171
183
return (uintptr_t )Address ;
172
184
}
173
185
@@ -177,6 +189,7 @@ PipeMemoryReader_receiveInstanceKind(const PipeMemoryReader *Reader) {
177
189
write (WriteFD , REQUEST_INSTANCE_KIND , 2 );
178
190
uint8_t KindValue = 0 ;
179
191
PipeMemoryReader_collectBytesFromPipe (Reader , & KindValue , sizeof (KindValue ));
192
+ DEBUG_LOG ("Requested instance kind is %u" , KindValue );
180
193
return KindValue ;
181
194
}
182
195
@@ -187,6 +200,7 @@ PipeMemoryReader_receiveInstanceAddress(const PipeMemoryReader *Reader) {
187
200
uintptr_t InstanceAddress = 0 ;
188
201
PipeMemoryReader_collectBytesFromPipe (Reader , (uint8_t * )& InstanceAddress ,
189
202
sizeof (InstanceAddress ));
203
+ DEBUG_LOG ("Requested instance address is 0x%" PRIxPTR , InstanceAddress );
190
204
return InstanceAddress ;
191
205
}
192
206
@@ -222,6 +236,7 @@ PipeMemoryReader_receiveImages(SwiftReflectionContextRef RC,
222
236
size_t NumReflectionInfos ;
223
237
PipeMemoryReader_collectBytesFromPipe (Reader , & NumReflectionInfos ,
224
238
sizeof (NumReflectionInfos ));
239
+ DEBUG_LOG ("Receiving %z images from child" , NumReflectionInfos );
225
240
226
241
if (NumReflectionInfos == 0 )
227
242
return ;
@@ -232,6 +247,7 @@ PipeMemoryReader_receiveImages(SwiftReflectionContextRef RC,
232
247
NumReflectionInfos * sizeof (* Images ));
233
248
234
249
for (size_t i = 0 ; i < NumReflectionInfos ; ++ i ) {
250
+ DEBUG_LOG ("Adding image at 0x%" PRIxPTR , Images [i ].Start );
235
251
swift_reflection_addImage (RC , Images [i ].Start );
236
252
}
237
253
0 commit comments