comparison dbg/CallStackInfo.d @ 189:a4c9de8e39b3

Now compileable with dmd2.053
author Abscissa
date Wed, 08 Jun 2011 02:21:32 -0400
parents 43073c7c7769
children 52188e7e3fb5
comparison
equal deleted inserted replaced
188:83a36bdd5d14 189:a4c9de8e39b3
17 import dbg.Debug; 17 import dbg.Debug;
18 import dbg.image.PE; 18 import dbg.image.PE;
19 19
20 import core.stdc.stdio; 20 import core.stdc.stdio;
21 import core.sys.windows.windows; 21 import core.sys.windows.windows;
22
23 import rt.deh;
22 24
23 class CallStackInfo 25 class CallStackInfo
24 { 26 {
25 this(EXCEPTION_POINTERS* e = null) 27 this(EXCEPTION_POINTERS* e = null)
26 { 28 {
237 } 239 }
238 240
239 struct EXCEPTION_POINTERS { 241 struct EXCEPTION_POINTERS {
240 EXCEPTION_RECORD* ExceptionRecord; 242 EXCEPTION_RECORD* ExceptionRecord;
241 CONTEXT* ContextRecord; 243 CONTEXT* ContextRecord;
242 }
243
244 const size_t EXCEPTION_MAXIMUM_PARAMETERS = 15;
245
246 struct EXCEPTION_RECORD {
247 DWORD ExceptionCode;
248 DWORD ExceptionFlags;
249 EXCEPTION_RECORD* ExceptionRecord;
250 PVOID ExceptionAddress;
251 DWORD NumberParameters;
252 DWORD[EXCEPTION_MAXIMUM_PARAMETERS] ExceptionInformation;
253 } 244 }
254 245
255 const MAXIMUM_SUPPORTED_EXTENSION = 512; 246 const MAXIMUM_SUPPORTED_EXTENSION = 512;
256 247
257 struct CONTEXT { 248 struct CONTEXT {
280 DWORD Esp; 271 DWORD Esp;
281 DWORD SegSs; 272 DWORD SegSs;
282 BYTE[MAXIMUM_SUPPORTED_EXTENSION] ExtendedRegisters; 273 BYTE[MAXIMUM_SUPPORTED_EXTENSION] ExtendedRegisters;
283 } 274 }
284 275
285 extern(C) Throwable _d_translate_se_to_d_exception(EXCEPTION_RECORD* exception_record); 276 //extern Throwable _d_translate_se_to_d_exception(EXCEPTION_RECORD* exception_record);