[m-rev.] diff: fix ssdb printing event numbers

Peter Wang novalazy at gmail.com
Tue May 25 11:22:09 AEST 2010


Branches: main, 10.04

ssdb/ssdb.m:
        Fix refactoring which made the debugger print the wrong event number
        at some ports.

diff --git a/ssdb/ssdb.m b/ssdb/ssdb.m
index 9d59bb4..62f92e3 100755
--- a/ssdb/ssdb.m
+++ b/ssdb/ssdb.m
@@ -420,7 +420,7 @@ handle_event_call_2(Event, ProcId, ListVarValue, !IO) :-
     (
         Stop = yes,
         save_streams(!IO),
-        print_event_info(Event, !IO),
+        print_event_info(Event, EventNum, !IO),
         read_and_execute_cmd(Event, 0, WhatNext, !IO),
         update_next_stop(EventNum, CSN, WhatNext, _Retry, !IO),
         restore_streams(!IO)
@@ -479,7 +479,7 @@ handle_event_exit_2(Event, ProcId, ListVarValue, Retry, !IO) :-
             % frame unless we are stopping to look at it.
             update_top_var_list(ListVarValue, !IO),
             save_streams(!IO),
-            print_event_info(Event, !IO),
+            print_event_info(Event, EventNum, !IO),
             read_and_execute_cmd(Event, 0, WhatNext, !IO),
             restore_streams(!IO)
         ),
@@ -538,7 +538,7 @@ handle_event_fail_2(Event, ProcId, Retry, !IO) :-
         ;
             AutoRetry = do_not_retry,
             save_streams(!IO),
-            print_event_info(Event, !IO),
+            print_event_info(Event, EventNum, !IO),
             read_and_execute_cmd(Event, 0, WhatNext, !IO),
             restore_streams(!IO)
         ),
@@ -573,7 +573,7 @@ handle_event_redo_nondet(ProcId, _ListVarValue) :-
             (
                 Stop = yes,
                 save_streams(!IO),
-                print_event_info(Event, !IO),
+                print_event_info(Event, EventNum, !IO),
                 read_and_execute_cmd(Event, 0, WhatNext, !IO),
                 update_next_stop(EventNum, CSN, WhatNext, _Retry, !IO),
                 restore_streams(!IO)
@@ -1706,11 +1706,10 @@ find_breakpoint(BreakPoints, Num, Key, BreakPoint) :-
 
     % Print the current information at this event point.
     %
-:- pred print_event_info(ssdb_event_type::in, io::di, io::uo) is det.
+:- pred print_event_info(ssdb_event_type::in, int::in, io::di, io::uo) is det.
 
-print_event_info(Event, !IO) :-
+print_event_info(Event, EventNum, !IO) :-
     stack_top(StackFrame, !IO),
-    EventNum = StackFrame ^ sf_event_number,
     CSN = StackFrame ^ sf_csn,
     ProcId = StackFrame ^ sf_proc_id,
     PrintDepth = StackFrame ^ sf_depth,

--------------------------------------------------------------------------
mercury-reviews mailing list
Post messages to:       mercury-reviews at csse.unimelb.edu.au
Administrative Queries: owner-mercury-reviews at csse.unimelb.edu.au
Subscriptions:          mercury-reviews-request at csse.unimelb.edu.au
--------------------------------------------------------------------------



More information about the reviews mailing list