]> gitweb.factorcode.org Git - factor.git/blobdiff - basis/debugger/windows/windows.factor
use radix literals
[factor.git] / basis / debugger / windows / windows.factor
old mode 100755 (executable)
new mode 100644 (file)
index 319f100..082291e
@@ -1,7 +1,8 @@
 ! Copyright (C) 2009 Slava Pestov.
 ! See http://factorcode.org/license.txt for BSD license.
-USING: assocs debugger io kernel literals math.parser namespaces
-prettyprint sequences system windows.kernel32 ;
+USING: accessors assocs debugger io kernel literals math.parser
+namespaces prettyprint sequences system windows.kernel32
+windows.ole32 windows.errors math ;
 IN: debugger.windows
 
 CONSTANT: seh-names
@@ -32,6 +33,7 @@ CONSTANT: seh-names
         { $ STATUS_CONTROL_C_EXIT             "STATUS_CONTROL_C_EXIT"           }
         { $ STATUS_FLOAT_MULTIPLE_FAULTS      "STATUS_FLOAT_MULTIPLE_FAULTS"    }
         { $ STATUS_FLOAT_MULTIPLE_TRAPS       "STATUS_FLOAT_MULTIPLE_TRAPS"     }
+        { 0xe06d7363 "Visual C++ exception" }
     }
 
 : seh-name. ( n -- )
@@ -40,3 +42,14 @@ CONSTANT: seh-names
 M: windows signal-error.
     "Windows exception 0x" write
     third [ >hex write ] [ seh-name. ] bi nl ;
+
+M: ole32-error error.
+    "COM error 0x" write
+    dup code>> 0xffff,ffff bitand >hex write ": " write
+    message>> write ;
+
+M: windows-error error.
+    "Win32 error 0x" write
+    dup n>> 0xffff,ffff bitand >hex write ": " write
+    string>> write ;
+