Mercurial > projects > ddmd
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); |