--- a/cmajor++/Cm/Cm.Debugger/DevEnvInput.cpp
+++ b/cmajor++/Cm/Cm.Debugger/DevEnvInput.cpp
@@ -111,6 +111,10 @@
         a11ActionParser->SetAction(ParsingActionPtr(new MemberParsingAction<CommandRule>(this, &CommandRule::A11Action)));
         ActionParserPtr a12ActionParser = GetAction("A12");
         a12ActionParser->SetAction(ParsingActionPtr(new MemberParsingAction<CommandRule>(this, &CommandRule::A12Action)));
+        ActionParserPtr a13ActionParser = GetAction("A13");
+        a13ActionParser->SetAction(ParsingActionPtr(new MemberParsingAction<CommandRule>(this, &CommandRule::A13Action)));
+        ActionParserPtr a14ActionParser = GetAction("A14");
+        a14ActionParser->SetAction(ParsingActionPtr(new MemberParsingAction<CommandRule>(this, &CommandRule::A14Action)));
         NonterminalParserPtr brkargNonterminalParser = GetNonterminal("brkarg");
         brkargNonterminalParser->SetPostCall(PostCallPtr(new MemberPostCall<CommandRule>(this, &CommandRule::Postbrkarg)));
         NonterminalParserPtr clrargNonterminalParser = GetNonterminal("clrarg");
@@ -171,6 +175,14 @@
         context->value = DevEnvCommand("set debug library", context->fromlib, context->fromonoff);
     }
     void A12Action(const std::string& match, const std::string& content, const Position& position, const std::string& fileName, bool& pass)
+    {
+        context->value = DevEnvCommand("set break on throw on");
+    }
+    void A13Action(const std::string& match, const std::string& content, const Position& position, const std::string& fileName, bool& pass)
+    {
+        context->value = DevEnvCommand("set break on throw off");
+    }
+    void A14Action(const std::string& match, const std::string& content, const Position& position, const std::string& fileName, bool& pass)
     {
         context->value = DevEnvCommand("input", match);
     }
@@ -400,51 +412,57 @@
                                             ParserPtr(new AlternativeParser(
                                                 ParserPtr(new AlternativeParser(
                                                     ParserPtr(new AlternativeParser(
-                                                        ParserPtr(new ActionParser("A0",
-                                                            ParserPtr(new StringParser("<cmdb.request<[[start]]>")))),
-                                                        ParserPtr(new ActionParser("A1",
-                                                            ParserPtr(new StringParser("<cmdb.request<[[quit]]>")))))),
-                                                    ParserPtr(new ActionParser("A2",
-                                                        ParserPtr(new StringParser("<cmdb.request<[[continue]]>")))))),
-                                                ParserPtr(new ActionParser("A3",
-                                                    ParserPtr(new StringParser("<cmdb.request<[[next]]>")))))),
-                                            ParserPtr(new ActionParser("A4",
-                                                ParserPtr(new StringParser("<cmdb.request<[[step]]>")))))),
-                                        ParserPtr(new ActionParser("A5",
-                                            ParserPtr(new StringParser("<cmdb.request<[[out]]>")))))),
-                                    ParserPtr(new SequenceParser(
+                                                        ParserPtr(new AlternativeParser(
+                                                            ParserPtr(new AlternativeParser(
+                                                                ParserPtr(new ActionParser("A0",
+                                                                    ParserPtr(new StringParser("<cmdb.request<[[start]]>")))),
+                                                                ParserPtr(new ActionParser("A1",
+                                                                    ParserPtr(new StringParser("<cmdb.request<[[quit]]>")))))),
+                                                            ParserPtr(new ActionParser("A2",
+                                                                ParserPtr(new StringParser("<cmdb.request<[[continue]]>")))))),
+                                                        ParserPtr(new ActionParser("A3",
+                                                            ParserPtr(new StringParser("<cmdb.request<[[next]]>")))))),
+                                                    ParserPtr(new ActionParser("A4",
+                                                        ParserPtr(new StringParser("<cmdb.request<[[step]]>")))))),
+                                                ParserPtr(new ActionParser("A5",
+                                                    ParserPtr(new StringParser("<cmdb.request<[[out]]>")))))),
+                                            ParserPtr(new SequenceParser(
+                                                ParserPtr(new SequenceParser(
+                                                    ParserPtr(new StringParser("<cmdb.request<[[break ")),
+                                                    ParserPtr(new NonterminalParser("brkarg", "Arg", 0)))),
+                                                ParserPtr(new ActionParser("A6",
+                                                    ParserPtr(new StringParser("]]>")))))))),
                                         ParserPtr(new SequenceParser(
-                                            ParserPtr(new StringParser("<cmdb.request<[[break ")),
-                                            ParserPtr(new NonterminalParser("brkarg", "Arg", 0)))),
-                                        ParserPtr(new ActionParser("A6",
-                                            ParserPtr(new StringParser("]]>")))))))),
+                                            ParserPtr(new SequenceParser(
+                                                ParserPtr(new StringParser("<cmdb.request<[[clear ")),
+                                                ParserPtr(new NonterminalParser("clrarg", "Arg", 0)))),
+                                            ParserPtr(new ActionParser("A7",
+                                                ParserPtr(new StringParser("]]>")))))))),
+                                    ParserPtr(new ActionParser("A8",
+                                        ParserPtr(new StringParser("<cmdb.request<[[callstack]]>")))))),
                                 ParserPtr(new SequenceParser(
                                     ParserPtr(new SequenceParser(
-                                        ParserPtr(new StringParser("<cmdb.request<[[clear ")),
-                                        ParserPtr(new NonterminalParser("clrarg", "Arg", 0)))),
-                                    ParserPtr(new ActionParser("A7",
+                                        ParserPtr(new StringParser("<cmdb.request<[[frame ")),
+                                        ParserPtr(new NonterminalParser("frmarg", "Arg", 0)))),
+                                    ParserPtr(new ActionParser("A9",
                                         ParserPtr(new StringParser("]]>")))))))),
-                            ParserPtr(new ActionParser("A8",
-                                ParserPtr(new StringParser("<cmdb.request<[[callstack]]>")))))),
+                            ParserPtr(new ActionParser("A10",
+                                ParserPtr(new StringParser("<cmdb.request<[[show libraries]]>")))))),
                         ParserPtr(new SequenceParser(
                             ParserPtr(new SequenceParser(
-                                ParserPtr(new StringParser("<cmdb.request<[[frame ")),
-                                ParserPtr(new NonterminalParser("frmarg", "Arg", 0)))),
-                            ParserPtr(new ActionParser("A9",
+                                ParserPtr(new SequenceParser(
+                                    ParserPtr(new SequenceParser(
+                                        ParserPtr(new StringParser("<cmdb.request<[[set debug library ")),
+                                        ParserPtr(new NonterminalParser("lib", "LibraryName", 0)))),
+                                    ParserPtr(new StringParser(" ")))),
+                                ParserPtr(new NonterminalParser("onoff", "OnOff", 0)))),
+                            ParserPtr(new ActionParser("A11",
                                 ParserPtr(new StringParser("]]>")))))))),
-                    ParserPtr(new ActionParser("A10",
-                        ParserPtr(new StringParser("<cmdb.request<[[show libraries]]>")))))),
-                ParserPtr(new SequenceParser(
-                    ParserPtr(new SequenceParser(
-                        ParserPtr(new SequenceParser(
-                            ParserPtr(new SequenceParser(
-                                ParserPtr(new StringParser("<cmdb.request<[[set debug library ")),
-                                ParserPtr(new NonterminalParser("lib", "LibraryName", 0)))),
-                            ParserPtr(new StringParser(" ")))),
-                        ParserPtr(new NonterminalParser("onoff", "OnOff", 0)))),
-                    ParserPtr(new ActionParser("A11",
-                        ParserPtr(new StringParser("]]>")))))))),
-            ParserPtr(new ActionParser("A12",
+                    ParserPtr(new ActionParser("A12",
+                        ParserPtr(new StringParser("<cmdb.request<[[set break on throw on]]>")))))),
+                ParserPtr(new ActionParser("A13",
+                    ParserPtr(new StringParser("<cmdb.request<[[set break on throw off]]>")))))),
+            ParserPtr(new ActionParser("A14",
                 ParserPtr(new TokenParser(
                     ParserPtr(new KleeneStarParser(
                         ParserPtr(new AnyCharParser()))))))))))));